Lägga till startprogram på plattformen

Via ditt insticksprogram kan du lägga till startkonfigurationstyper i plattformen med hjälp av utökningspunkten org.eclipse.debug.core.launchConfigurationTypes. Genom den här utökningspunkten kan du ange en konfigurationstyp med ett unikt ID. Du måste tillhandahålla en motsvarande implementering av ILaunchConfigurationDelegate. Delegaten är ansvarig för att öppna sin startkonfiguration i ett angivet läge. Som tillval kan du implementera ILaunchConfigurationDelegate2, som förbättrar delegatgränssnittet så att delegaten kan avbryta en start, bygga relevanta projekt på arbetsytan före en start och styra skapandet av det startobjekt som används i en start.

Förutom att definiera delegaten kan du även ange vilka startlägen som stöds av din delegat och ett namn som ska användas när startprogram av denna typ visas för användaren.

Följande kodstycke visar hur Java-verktygen deklarerar en Java-startkonfiguration för start av lokala Java-program:

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

Det här tillägget definierar en startkonfigurationsdelegat som kan användas till att köra eller felsöka program som startas med hjälp av den lokala Java-startkonfigurationen.

Definiera nya startlägen

I plattformen definieras startlägen för körning, felsökning eller profilering av ett program. Dessa lägen definieras med hjälp av utökningspunkten org.eclipse.debug.core.launchModes. Via den här utökningspunkten kan du ange ett startläge genom att definiera dess stränglägesnamn och etiketten som ska visas för användaren för att beskriva läget. Följande kodstycke visar definitionen av plattformens tre standardstartlägen:

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

Observera att läget inte är associerat till någon speciell startkonfigurationstyp. Som tidigare visats, inträffar denna association när en startdelegat anges för en konfigurationstyp.

Definiera startdelegat

Eftersom startlägen kan anges oberoende av startkonfigurationstyper, är det möjligt att nya lägen är definierade som inte implementerats av den ursprungliga delegaten för en startkonfiguration. I detta fall kan ett insticksprogram definiera en startdelegat som implementerar ett visst läge för en speciell startkonfigurationstyp. Det kan göras med hjälp av utökningspunkten org.eclipse.debug.core.launchDelegates. Via den här utökningspunkten kan du definiera en startdelegat som implementerar de specifika lägena för en given konfigurationstyp. Följande kodstycke visar hur du kan definiera en delegat för profilering av en lokal Java-tillämpning:

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

Specifikationen av delegaten liknar det sätt på vilket det görs när en startkonfigurationstyp definieras, förutom att i detta fall anges startkonfigurationstypen tillsammans med de lägen som stöds. Delegaten måste implementera ILaunchConfigurationDelegate, och kan implementera ILaunchConfigurationDelegate2 som tillval för mer kontroll över startsekvensen.

Andra referenser

Vi har startat: Startramverket i Eclipse ger ett exempel för början till slut över definition av en egen starttyp.