Přidávání spouštěčů do platformy

Váš modul plug-in může přidávat do platformy typy konfigurace spuštění pomocí bodu rozšíření org.eclipse.debug.core.launchConfigurationTypes.  Tento bod rozšíření vám umožňuje deklarovat typ konfigurace pomocí jedinečného id.  Musíte poskytnout příslušnou implementaci ILaunchConfigurationDelegate. Delegát nese odpovědnost za spuštění své konfigurace spuštění v zadaném režimu. Volitelně můžete implementovat ILaunchConfigurationDelegate2, který rozšiřuje rozhraní delegáta způsobem, který delegátovi umožňuje předčasně spouštění ukončit, sestavit před spuštěním příslušné projekty v pracovní ploše a řídit vytváření objektu spuštění, který je použit pro spuštění.

Kromě definování delegáta můžete určit, které režimy spuštění váš delegát podporuje a dále název, který by měl být použit při zobrazení spouštěče tohoto typu.

Následující markup ukazuje, jak nástroje Java deklarují konfiguraci spuštění Java pro spouštění lokálních programů 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>

Toto rozšíření definuje delegáta konfigurace spuštění, jehož lze použít ke spuštění nebo k ladění programů, které se spouštějí s použitím lokální konfigurace spuštění Java.

Definování nových režimů spuštění

Již jsme uvedli, že platforma definuje režimy spuštění pro provedení, ladění a profilování programu. Tyto režimy jsou definovány s použitím bodu rozšíření org.eclipse.debug.core.launchModes. Tento bod rozšíření umožňuje deklarovat režim spuštění definováním řetězce názvu režimu a definováním štítku popisujícího režim uživateli. Následující markup předvádí definici tří standardních spouštěcích režimů platformy:

<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>

Povšimněte si, že režim není asociován s žádným určitým typem konfigurace spuštění. Jak jsme viděli výše, k této asociaci dochází, pokud je pro typ konfigurace zadán delegát spuštění.

Definování delegátů spuštění

Protože režimy spuštění lze zadávat nezávisle na typech konfigurací spuštění, může dojít k situaci, kdy jsou definovány nové režimy, které nejsou implementovány původním delegátem konfigurace spuštění. V takovém případě modul plug-in může definovat delegáta spuštění, který implementuje určitý režim pro určitý typ konfigurace spuštění. Toto lze provést s použitím bodu rozšíření org.eclipse.debug.core.launchDelegates. Tento bod rozšíření umožňuje definovat delegáta spuštění, který implementuje zadané režimy pro daný typ konfigurace. Následující markup předvádí způsob definice delegáta určeného k profilování lokální aplikace 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>

Specifikace delegáta je podobná způsobu definování typu konfigurace spuštění. Rozdíl spočívá ve skutečnosti, že se v tomto případě typ konfigurace spuštění zadává společně s podporovanými režimy. Jak jsme viděli výše, delegát musí implementovat ILaunchConfigurationDelegate, a volitelně může implementovat ILaunchConfigurationDelegate2 v zájmu větší kontroly nad pořadím spouštění.

Další odkazy

Začínáme: Spuštění infrastruktury v Eclipse uvádí komplexní příklad definování vlastního typu spuštění.