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

Exemple : Ajout d'une extension de jeu 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 Ajouter pour appeler l'assistant d'extension :

Sélection de 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.

Assistant de création selon le schéma - Sélection du point d'extension

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. 

Page Editeur d'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.

  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 vue Console, la boîte de dialogue doit se présenter comme suit :

Editeur d'attributs Java

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.

 
Copyright IBM Corporation and others 2000, 2003