Ajout de lanceurs à la plateforme

Votre plug-in peut ajouter des types de configurations de lancement à la plateforme à l'aide du point d'extension org.eclipse.debug.core.launchConfigurationTypes.   Ce point d'extension vous permet de déclarer un type de configuration avec un ID unique.  Vous devez indiquer une implémentation correspondante de ILaunchConfigurationDelegate dans votre plug-in.  Vous pouvez également indiquer les modes (exécution et/ou débogage) pris en charge par votre lanceur, ainsi que le nom à utiliser lors de l'affichage des lanceurs de ce type.

Les marques suivantes indiquent comment les outils Java déclarent une configuration de lancement Java pour de programmes de lancement Java locaux :

<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">
   </launchConfigurationType>
</extension>

Définition de pointeurs source

Pour chaque type de configuration de lancement qui prend en charge le mode débogage, il est important de pouvoir localiser le code source correspondant au point d'exécution dans le code. ISourceLocator et IPersistableSourceLocator définissent une interface pour le mappage d'un programme vers le code source.

Les pointeurs source sont généralement implémenter pour fonctionner avec la configuration de lancement correspondante et le délégué de cette dernière. Les configurations de lancement pouvant être persistantes, des pointeurs source peuvent également être stockés avec elles. Pour ce faire, définissez un attribut de la configuration avec l'ID d'un pointeur. Lorsqu'une configuration de lancement est lue sur le disque, l'ID du pointeur source doit être mappé en retour vers la classe d'implémentation. Le point d'extension org.eclipse.debug.core.sourceLocators sert à cette opération. 

Le point d'extension vous permet d'enregistrer votre classe implémentant IPersistableSourceLocator et de l'associer à un ID qui sera stocké avec la configuration de lancement. Le plug-in de débogage peut ainsi rechercher des classes du pointeur par leur ID au moment d'instancier la configuration de lancement.

Les marques suivantes sont extraites des outils Java :

<extension point = "org.eclipse.debug.core.sourceLocators">
	<sourceLocator
		id = "org.eclipse.jdt.debug.ui.javaSourceLocator"
	   	class="org.eclipse.jdt.debug.ui.JavaUISourceLocator"
	   	name="%javaSourceLocator"/>
</extension>

Comparaison de configurations de lancement

Les plug-in utilisent des attributs et des valeurs pour stocker d'importantes données avec la configuration de lancement. La plateforme ne sachant pas interpréter ces attributs, un point d'extension est fourni pour vous permettre d'indiquer un comparateur pour un attribut spécifique. Ce comparateur sert à déterminer si les attributs du nom spécifié sont identiques. Bien souvent, la chaîne de comparaison fournie par java.lang.Object.equals(Object) est adéquate pour comparer des attributs. Cette méthode sera employée si aucun comparateur n'a été fourni. Toutefois, certaines valeurs d'attributs peuvent impliquer un traitement spécial, tel que l'élimination de caractères blancs du texte avant de rechercher si des attributs sont identiques.

Les comparateurs sont fournis à l'aide du point d'extension org.eclipse.debug.core.launchConfigurationComparators

Les outils Java offrent des comparateurs de configurations de lancement pour comparer des chemins source et d'accès aux classes de programmes.

<extension point = "org.eclipse.debug.core.launchConfigurationComparators">
	<launchConfigurationComparator
		id = "org.eclipse.jdt.launching.classpathComparator"
		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
		attribute = "org.eclipse.jdt.launching.CLASSPATH"/>
	<launchConfigurationComparator
		id = "org.eclipse.jdt.launching.sourcepathComparator"
		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
		attribute = "org.eclipse.jdt.launching.SOURCE_PATH"/>		
</extension>

Copyright IBM Corporation and others 2000, 2003.