Voit lisätä ympäristöön aloituskokoonpanon lajeja käyttämällä laajennuspistettä org.eclipse.debug.core.launchConfigurationTypes. Tämän laajennuspisteen avulla voit esitellä kokoonpanon lajin käyttämällä siitä yksilöllistä tunnusta. Toteuta rajapinta ILaunchConfigurationDelegate. Tämä delegaatti vastaa siitä, että aloituskokoonpano käynnistyy tietyssä tilassa. Vaihtoehtoisesti voit myös toteuttaa ILaunchConfigurationDelegate2-rajapinnan, joka parantaa delegaattirajapintaa siten, että delegaatti voi lopettaa aloituksen, luoda työtilaan sopivia projekteja ennen käynnistystä ja hallita aloituksessa käytettyä aloitusobjektia.
Delegaatin lisäksi voit määrittää, mitä aloitustiloja delegaatti tukee ja mitä nimeä delegaatista käytetään, kun käyttäjä näkee aloitustoiminnot.
Seuraavista merkinnöistä käy ilmi, kuinka Java-työkalut esittelevät Java-aloituskokoonpanon paikallisten Java-ohjelmien aloituksessa:
<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>
Tämä laajennus määrittää aloituskokoonpanon delegaatin, jota voidaan käyttää sellaisten ohjelmien ajoon tai vianmääritykseen, jotka aloitetaan paikallista Java-aloituskokoonpanoa käyttämällä.
Ympäristö siis määrittää ohjelman ajon, vianmäärityksen ja profiloinnin aloitustilat. Nämä tilat määritetään org.eclipse.debug.core.launchModes-laajennuspisteen avulla. Laajennuspisteen avulla voit myös esitellä aloitustilan määrittämällä sen merkkijonotilan nimen ja kyseistä tilaa kuvaavan nimiön, joka näkyy käyttäjälle. Alla olevat merkinnät kuvaavat, miten ympäristön kolme vakioaloitustilaa määritetään:
<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>
Huomaa, että tilaa ei ole yhdistetty mihinkään aloituskokoonpanon lajiin. Kuten edellä kuvattiin, tilan ja kokoonpanolajin liitos syntyy vasta, kun kokoonpanolajille on määritetty tietty aloitusdelegaatti.
Koska aloitustiloja voidaan määrittää erillään aloituskokoonpanon lajeista, on mahdollista, että määritetään uusia tiloja, joita aloituskokoonpanon alkuperäinen delegaatti ei toteutakaan. Tässä tapauksessa lisäosa voi määrittää aloitusdelegaatin, joka toteuttaa tietyn aloituskokoonpanolajin tiettyä tilaa. Tämä voidaan tehdä laajennuspisteen org.eclipse.debug.core.launchDelegates avulla. Tämän laajennuspisteen avulla voi määrittää aloitusdelegaatin, joka toteuttaa kyseessä olevan kokoonpanon lajin tiettyjä tiloja. Seuraavat merkinnät kuvaavat, kuinka voit määrittää paikallisen Java-sovelluksen profilointiin soveltuvan delegaatin:
<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>
Delegaatin määritys tapahtuu samalla tavalla kuin aloituskokoonpanon lajinkin, paitsi että aloituskokoonpanon laji määritetään yhdessä tuetun tilan kanssa. Kuten edellä kuvattiin, delegaatin pitää toteuttaa ILaunchConfigurationDelegate-rajapinta. Se voi myös toteuttaa rajapinnan ILaunchConfigurationDelegate2, jos aloitussarjaa halutaan hallita paremmin.
Kohdassa We Have Lift-off: The Launching Framework in Eclipse kuvataan aloituslajin määrittäminen alusta loppuun.