Page d'extensions

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

Les plug-ins contribuent aux points d'extension définis par les plug-ins 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-ins (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.

Exemple : Ajout d'une extension d'ensemble d'actions

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 Nouveau 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-ins et propose les points d'extension trouvés, avec ou sans schéma. PDE offre une meilleure assistance dans le cas de plug-ins 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 Ensembles d'actions, puis cliquez sur Terminer.

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 d'ensemble 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 l'ensemble d'actions. Si nous sélectionnons l'ensemble 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 ensembles d'actions.  Commençons par créer le menu.

  1. Sélectionnez Nouveau->menu pour créer le menu.  

  2. Sélectionnez-le et modifiez ses propriétés.  Changez l'id en "sampleMenu" et le libellé (label) en "Exemple de menu".

  3. L'objet de menu étant toujours sélectionné, cliquez pour afficher un menu contextuel, puis sélectionnez Nouveau->séparateur. Un nouvel enfant doit apparaître.

  4. Sélectionnez "séparateur" et changez son nom (name) en "sampleGroup". Cette opération permet de créer dans le menu un groupe nommé à l'aide duquel nous contribuerons à l'action.

Nous pouvons créer l'action d'une façon similaire :

  1. Sélectionnez Nouveau->action pour créer une action.  

  2. Sélectionnez-la et modifiez ses propriétés.  Changez sa propriété label en "&Exemple d'action" et sa propriété menubarPath en "sampleMenu/sampleGroup."  L'action est alors ajoutée au menu que nous venons de définir.

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 :

  1. Cliquez sur la propriété class pour la modifier. Sélectionnez le bouton pour ouvrir la boîte de dialogue de l'éditeur de cellules.

  2. Sélectionnez le bouton d'option pour créer une classe.

  3. Cliquez sur le bouton Parcourir pour choisir le conteneur de source, puis choisissez "Plug-in XYZ".

  4. Changez le nom de la classe en "SampleAction".

Avant que vous cliquiez sur Terminer, 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.