新增啟動程式至平台

您的外掛程式可以利用 org.eclipse.debug.core.launchConfigurationTypes 延伸點,將啟動配置類型新增至平台上。這個延伸點可讓您使用專屬 ID 來宣告配置類型。   您必須提供 ILaunchConfigurationDelegate 的對應實作方式。 委派負責用指定的模式,啟動它的啟動配置。 您也可以實作 ILaunchConfigurationDelegate2, 它會加強委派介面,以讓您的委派在啟動之前,捨棄啟動以及在工作區中建置相關專案,並控制要用於啟動之啟動物件的建立。

除了定義委派之外,您也可以指定您的委派要支援哪種啟動模式,以及當顯示這個類型的啟動程式給使用者時,所要使用的名稱。

下列的標記顯示 Java 工具如何為啟動本端的 Java 程式來宣告 Java 啟動配置:

<extension point = "org.eclipse.debug.core.launchConfigurationTypes">
   <launchConfigurationType 
   	   id="org.eclipse.jdt.launching.localJavaApplication"
	   name="%localJavaApplication"
	   delegate="org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate"
	   modes= "run, debug"
	   sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
       sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
   </launchConfigurationType>
   </extension>

這個延伸定義了可用來執行或除錯程式的啟動配置委派,該程式是指用本端 Java 啟動配置所啟動的程式。

定義新的啟動模式

之前有提到平台會定義啟動模式,以執行、除錯或側寫程式。這些模式是用 org.eclipse.debug.core.launchModes 延伸點來定義的。這個延伸點可讓您宣告啟動模式,方法是定義該模式的字串模式名稱,以及定義要顯示給使用者看的說明模式標籤。下列標記顯示平台的三種標準啟動模式的定義:

<extension point="org.eclipse.debug.core.launchModes">
	<launchMode
		label="%run"
		mode="run">
	</launchMode>
	<launchMode
		label="%debug"
		mode="debug">
	</launchMode>
	<launchMode
		label="%profile"
		mode="profile">
	</launchMode>
      </extension>

請注意,此模式與任何特定的啟動配置類型皆不相關。 如之前所示,當針對特定配置類型而指定啟動委派時,才會建立它們的相關性。

定義啟動委派

由於可以不受限於啟動配置類型單獨指定啟動模式,因此,新模式可能會定義成非由啟動配置的原始委派實作。 在此情況下,外掛程式可定義一個實作特定啟動配置類型之特定模式的啟動委派。 做法為使用 org.eclipse.debug.core.launchDelegates 延伸點。這個延伸點可讓您定義啟動委派,以實作給定配置類型之特定模式。下列標記顯示要如何定義委派,以側寫本端 Java 應用程式:

<extension point="org.eclipse.debug.core.launchDelegates">
<launchDelegate
   id="com.example.MyJavaProfileDelegate"
   delegate="com.example.MyJavaProfileDelegate"
   type="org.eclipse.jdt.launching.localJavaApplication"
   modes="profile">
  </launchDelegate>
      </extension>

委派的指定方式與定義啟動配置類型時類似,除了此情況是同時指定啟動配置類型和受支援模式之外。如之前所述,委派必須實作 ILaunchConfigurationDelegate, 且可以選擇性地實作 ILaunchConfigurationDelegate2,以更能控制啟動順序。

其他參照

We Have Lift-off: The Launching Framework in Eclipse 提供定義您專屬啟動類型的完整範例。