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.
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í.
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í.
Začínáme: Spuštění infrastruktury v Eclipse uvádí komplexní příklad definování vlastního typu spuštění.