La page Extensions permet de rechercher et d'éditer des extensions de plug-in. Les extensions constituent le mécanisme central d'ajout de comportement à la plateforme. Tout nouveau comportement est ajouté sous forme d'une extension sauf si le plug-in est une bibliothèque d'API Java simple accessible aux autres plug-in.
Les plug-in contribuent aux points d'extension définis par les plug-in qu'ils requièrent. Pour être traitée correctement, la syntaxe des extensions doit correspondre à la définition des points d'extension. PDE établit la liste des points d'extension admis en explorant tous les plug-in (de l'espace de travail et externes).
L'assistant d'extension générique fourni par PDE recherche simplement les points d'extension. Si un schéma d'extension est fourni(voir Schéma des points d'extension), l'assistant extrait du schéma les métadonnées de grammaire et des points d'extension.
Outre l'assistant générique, vous disposez d'un grand nombre de modèles d'extension. Il s'agit des mêmes modèles que ceux utilisables pour générer le contenu initial du projet de plug-in. Le fait qu'ils soient disponibles ici vous permet de tester pas à pas la création d'extension. Vous pouvez créer un plug-in constitué d'une simple vue, puis y ajouter plus tard un éditeur ou un assistant.
Pour illustrer cette opération, nous allons ajouter l'action "Bonjour, bienvenue dans PDE" au plug-in. Nous allons apporter notre contribution au point d'extension org.eclipse.ui.actionSets. Cet exemple implique que vous soyez familiarisé avec le point d'extension.
Cliquez sur Ajouter pour appeler l'assistant d'extension :
L'assistant Extension créée en fonction du schéma est sélectionné par défaut car il gère les extensions de façon générique. Il recherche les plug-in et propose les points d'extension trouvés, avec ou sans schéma. PDE offre une meilleure assistance dans le cas de plug-in avec schéma. Si un schéma de points d'extensions est manquant, PDE vous permet d'ajouter des éléments et des attributs à l'extension, mais sera incapable de vérifier leur validité pour le point d'extension sélectionné.
Lorsque vous cliquez sur Suivant, une liste de points d'extension apparaît. Sélectionnez org.eclipse.ui.actionSets, puis cliquez sur Fin.
L'assistant ajoute la nouvelle extension à la liste. Comme cette extension possède un schéma, nous pouvons modifier sa définition. Sélectionnez la nouvelle extension, puis cliquez sur Nouveau->actionSet dans le menu contextuel. Cet élément XML a été défini comme le seul élément valide visible dans la définition de l'extension.
PDE crée des valeurs par défaut pour tous les attributs requis. Changez le nom de l'action en "Exemple de jeu d'actions " en sélectionnant l'élément et en modifiant la propriété label dans la vue Propriétés. Le nouveau nom apparaît dans la liste des extensions.
Nous allons à présent définir un menu et une action pour le jeu d'actions . Si nous sélectionnons le jeu d'actions et appelons le menu contextuel dans la section "Eléments d'extension secondaires", le menu "Nouveau" propose deux options : menu et action. Ces options s'appuient sur les informations de schéma pour l'extension des jeux d'actions . Commençons par créer le menu.
Nous pouvons créer l'action d'une façon similaire :
Le dernier élément à définir est la classe Java de l'action. La définition du point d'extension indique qu'une action doit implémenter IWorkbenchWindowActionDelegate. Comme il peut lire cette information dans le schéma, PDE vous guide dans la procédure :
Avant que vous cliquiez sur vue Console, la boîte de dialogue doit se présenter comme suit :
A la fin de la procédure, la nouvelle classe est générée en fonction de l'interface requise (avec une implémentation de raccord pour chaque méthode abstraite). De plus, le nom de la nouvelle classe est associé à la valeur de la propriété classe. Par défaut, l'assistant ouvre également la nouvelle classe Java en modification. Vous pouvez alors rechercher la méthode "run" et lui ajouter l'instruction suivante :
System.out.println("Bonjour, bienvenue dans PDE !");
Enregistrez le nouveau code source et fermez l'éditeur Java. Retournez ensuite dans la page des extensions de l'éditeur de manifeste, et enregistrez-la.
Nous poursuivrons cet exemple lors de l'exécution du plug-in.