Tutoriel Plugins Eclipse (partie 1)
© 2007-2008, Frédéric Peschanski
Dans ce tutoriel de niveau débutant, nous réalisons une petite étude de cas de création de plugins
Eclipse. Nous allons créer en pas à pas deux plugins:
plugin timer : un plugin inspiré de l'outil Cron d'Unix, ici en version très simplifiée, et qui permet
d'enregistrer des tâches exécutées à intervalles réguliers. Ce plugin montre l'extension du
Workbench eclipse avec des Action Sets (menus) et illustre également la définition de points
d'extensions
plugin clock : exemple d'extension pour le timer. Montre également les bases de la création de
vues en JWT/JFace.
Dans un premier temps, on lancera Eclipse dans sa version 3.1 ou 3.2.
Partie I. Le Plugin timer
Le développement de plugins Eclipse est pris en charge dans l'environnement par l'environnement de
développement de plugins PDE (Plugin Development Environment) qui est fourni avec Eclipse en
standard. Ce dernier est basé sur la boîte à outils de développement Java JDT (Java Development
Toolkit). Les plugins Eclipse sont donc en général implémenté en Java. Ce tutoriel suppose donc un
niveau intermédiaire de programmation orientée-objet en Java, ainsi que des connaissances minimales
de l'environnement Eclipse du point de vue utilisateur/développeur Java.
1) Création du projet
Pour démarrer le développement d'un plugin, on passe par un assistant (Wizard) de création de projet
en choisissant le menu Fichier (File) et Nouveau Projet (New Project) puis en sélectionnant le type de
projet Projet de Plugin (Plug-in Project). Les étapes 1 et 2 sont représentées ci-dessous :
Etape 1 : Nouveau projet Etape 2 : Projet de Plugin
On doit ensuite choisir le nom du plugin TimerPlugin en séparant de préférence les répertoires src/
et bin/ et en sélectionnant un plugin Eclipse et non Equinoxe1 (cf. étape 3). A l'étape suivante, on
choisira l'identificateur (Plugin ID) du plugin upmc.cps.timer.TimerPlugin ainsi que son numéro
de version (1.0.0 par défaut) et son nom descriptif (Plugin Name) TimerPlugin Plug-in. On
générera un activateur donc le nom de classe sera upmc.cps.timer.Activator et ce plugin
contribuera à l'interface utilisateur d'Eclipse. En revanche, ce n'est pas une application final RCP2
(Rich Client Platform). Les entrées nécessaires sont figurée à l'étape 4 ci-dessous :
1 Les plugin Equinoxe sont de bas niveaux et se placent au-dessus du framework OSGI et non d'Eclipse
2 Les plugins RCP sont des applications finales qui se placent au dessus-d'Eclipse mais sans les outils de
développement.
Etape 3 : Informations générales Etape 4 : Contenu du plugin
La page suivante (Next) de l'assistant propose, de façon optionnelle, de suivre des modèles de Plugins
(templates) qui permettent de générer un code d'exemple pour différents types de contribution à
l'environnement Eclipse (cf. étape 5). Ici, nous choisirons uniquement le modèle Action set « Bonjour
le monde » ("Hello world" Action set) qui génère le code minimal nécessaire pour contribuer un menu
global d'Eclipse3 (cf. étape 6).
3 Il est déconseillé de contribuer directement un menu global à Eclipse, et nous ne le faisons ici que pour illustrer
l'extension de menus. En pratique, on préférera ajouter soit un menu contextuel soit, au pire, un sous-menu de menu
global.
Etape 5 : les modèles de plugin Etape 6 : le modèle "Hello World" Action Set
pour contribuer un menu
Finalement, on choisira les options du menu que nous souhaitons ajouter sur la page suivante de
l'assistant. On choisira le nom de paquetage Java (Java Package Name) upmc.cps.timer.actions
(cf. étape 7 mais le nom de paquetage Java doit être corrigé). On trouvera dans ce paquetage toutes les
classes générées par Eclipse pour réagir aux entrées du menu contribué. Le nom de classe d'action
(Action Class Name) est TimerAction et le message d'information sera Timer Activated.
Etape 7 : les options de l'action set
2) Découverte de l'architecture du Plugin
L'assistant se termine après l'étape 7 en cliquant sur Terminer (Finish). Dans ce tutoriel, on choisit en
fait de revenir en arrière et de n'utiliser aucun modèle. On se retrouve donc avec l'arborescence décrite
à l'étape 8 ci-dessous :
Etape 8 : l'arboresence générée pour le plugin TimerPlugin
Cette vue de l'explorateur de paquetage (Package explorer) est composée des éléments suivants:
Le répertoire racine du projet TimerPlugin/
Le répertoire des sources src/
dans le paquetage upmc.cps.timer, la classe d'activation OSGI Activator (cf. ci-dessous)
Les dépendances standards Java JRE (Java Runtime Environment)
Les dépendances de Plug-in
ici nous dépendons de tous les plugins de base d'Eclipse:
framework OSGI/Equinoxe: org.eclipse.osgi.* et org.eclipse.equinoxe.*
les plugins de base: org.eclipse.core.*
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !