Développement de plug-in sous
Eclipse
Adel ESSAFI
Adel.safi@imag.fr
PLAN
 Présentation
 Fonctionnement d’Eclipse
 Développement de plugin
Présentation: un peu d’histoire ……
 La fondation Eclipse
 créé en 2001 par IBM
 consortium de sept sociétés
 2003-2004 passage d’un consortium à la fondation
Eclipse
 But : Eclipser le concurrent « sun »
 Membre
 Membres 'Strategic'
 Strategic developers
 Strategic consumers
 Membres 'Add-in Provider'
 Membres Associate
Les projets Eclipse : Top Level Projects
 Eclipse
 Eclipse Tools
 Web Tools Platform (WTP)
 Business Intelligence and Reporting Tools (BIRT)
 Test and Performance Tools Platform (TPTP)
 Data Tools Platform (DTP)
 Device Software Development Platform (DSDP)
 SOA Tools Platform (STP)
 Modeling
 Technology project
Le projet Eclipse
 Développer des applications en Java
 En 2004 : Etendu pour être utilisé pour tout type
d’application
 Caractéristique principale : Extensibilité
 Plugin
 Module chargé sous éclipse
 Le noyau d'Eclipse gère le cycle de vie des plugins
(découverte, chargement, mise à jour, déchargement…)
 SWT : Outils grqphiques communs à tous les plugin
 Deux Sous projets importants
 JDT
 PDT
Eclipse Tools
 Projets open sources liés à eclipse
 CDT : sous projet pour developper C/C++ sous eclipse
 GEF : librairie permettant la création et la manipulation de
graphiques en deux dimensions.
 VE (Visual Editor) : constructeur d'interfaces graphiques
Java
 ………………………………………………..
WTP - Web Tools Platform
 fournir des outils de
développement
d'applications Web
basées sur J2EE
 Web Standard Tools
 J2EE Standard Tools
 JSF Tools
BIRT - Business Intelligence and
Reporting Tools
 système de création de rapports pour les
applications Web
 fournit des outils pour la prise en compte des quatre
étapes de la création d'un rapport
 La récupération des données
 La transformation des données
 L'ajout de règles métier
 La mise en forme
TPTP - Eclipse Test and Performance
Tools Platform
 Outillage nécessaire pour tester les applications et
identifier les problèmes de performances
 TPTP Platform Project
 TPTP Test Tools Project
 TPTP Tracing and Profiling Tools Project
 TPTP Monitoring Tools Project
DTP - Data Tools Platform
 Outils pour la connexion aux bases de données
relationnelles
 Des assistants : définir les informations de connexion
JDBC à une base de données relationnelle.
 Un explorateur de bases de données (liste des tables,
structure des tables, …)
 Des éditeurs SQL :
 éditeur de code source
 éditeur visuel
 Un testeur de requêtes SQL : visualiser le résultat.
STP - SOA Tools Project
 Fournir les outils nécessaires à la mise en œuvre
d'architectures orientées services
 Conforme aux travaux sur une nouvelle spécification
: Service Component Architecture (SCA)
Eclipse Modeling Project
 Framework de modélisation, infrastructure de
génération de code et des applications basées sur
des modèles de données structurées.
Fonctionnement d’eclipse
Architecture d’eclipse
Interface principale
Creation d’un projet
 File -> new project
Le menu refactoring
 Aspect très important de la programmation Objet,
 Le changement de nom d'une méthode peut se
répercuter très loin dans les classes descendantes
 Le refactoring est accessible
 depuis le menu Refactor du menu principal
 depuis le menu contextuel
 une vingtaine de fonctions de refactoring existent
 Applique des modifications soit sur le type de la
classe ou de l'interface, soit réorganiser le code lui-
même
Le menu refactoring : Quelques fonctions
 Extract Method : extraire le code selectionné
 Rename...
 Move
 Change signature
 Extract local variable
Change method signature
Exécuter un projet
clic-droit sur le .java de la classe, puis de sélectionner Run As -> Java application
Exécution avec des arguments
puis Run As -> Run ->"Java application" -> "New"
Exécution avec des arguments
Exécution avec des arguments
Debogage
 débogage : permet de voir ce qui se passe quand le
programme s'exécute
 Exemples :
 consulter l'état des variables et des champs
 regarder dans quelles fonctions le programme passe et
avec quelles valeurs des paramètres
 exécuter le programme pas à pas ou fonction par
fonction
 Définir un break point
 Contrôle de l’exécution avec
Raccourcis Eclipse
 Permet d’être plus efficace en utilisant son IDE
 Catégories principales
• Édition
• Sélection
• Recherche
• Refactoring
• Source
• Debug
• Run
• Fichier
• Navigation
Raccourcis refactoring
Raccourcis Action
Alt+Maj+C Modifier la signature d'une méthode
Alt+Maj+L Extraire une variable locale
Alt+Maj+M Extraire une méthode
Alt+Maj+R Renommer
Alt+Maj+T Ouvrir le menu de refactoring
Raccourcis du menu sources
Raccourcis Action
Ctrl+Maj+/ Commenter/décommenter le bloc
Ctrl+Maj+M Importer l'élément
Ctrl+Maj+J Initier la Javadoc
Ctrl+Maj+F Formater
Ctrl+I Indenter le bloc
Ctrl+Maj+O Organiser les imports
Alt+Maj+S Ouvrir le menu rapide de source
Alt+Maj+Z
Ouvrir le menu rapide d'entourage (pour
entourer avec if, try, for, etc.)
Raccourcis Debug
Raccourcis Action
Alt+Maj+D Ouvrir le menu de lancement de debug
F11 Relancer le dernier debug
F11 Relancer le dernier debug
F8 Continuer
Ctrl+F2 Terminer
F5 Aller dans l'instruction (entrer)
F6 Aller à l'instruction suivante
F7 Sortir
Ctrl+Maj+B Ajouter/supprimer un point d'arrêt
Les plug-in sous Eclipse
 Plug-in :
 enrichir l'environnement de développement
 développer des applications Eclipse RCP
 Concrétisation de deux objectifs
 Modularité
 Extensibilité
 Fichier JAR de java
 mécanisme basique pour permettre la livraison d'une
application en plusieurs modules
Eclipse : le micro-noyau
 conçu autour d'un mécanisme de micro-noyau
 gérer le cyle de vie des modules
 découverte, chargement, déchargement, mise à jour
 Depuis Eclipse 3 :
 Réécriture du noyau d’eclipse : Equinox
Structure du plug-in
 fichier JAR + deux fichiers manifestes
 META-INF/MANIFEST.MF
 plug-in.xml
 MANIFEST.MF
 exploité par le noyau d'Eclipse, Equinox
 Contient des informations sur le plug-in
 (version, liste des classes visibles, ...)
 plugin.xml
 propre à Eclipse
 déclarer des points d'extension
 ………………………………….
Développement de plug in sous eclipse
Développement de plug in sous eclipse
Développement de plug in sous eclipse

Développement de plug in sous eclipse

  • 1.
    Développement de plug-insous Eclipse Adel ESSAFI Adel.safi@imag.fr
  • 2.
    PLAN  Présentation  Fonctionnementd’Eclipse  Développement de plugin
  • 3.
    Présentation: un peud’histoire ……  La fondation Eclipse  créé en 2001 par IBM  consortium de sept sociétés  2003-2004 passage d’un consortium à la fondation Eclipse  But : Eclipser le concurrent « sun »  Membre  Membres 'Strategic'  Strategic developers  Strategic consumers  Membres 'Add-in Provider'  Membres Associate
  • 4.
    Les projets Eclipse: Top Level Projects  Eclipse  Eclipse Tools  Web Tools Platform (WTP)  Business Intelligence and Reporting Tools (BIRT)  Test and Performance Tools Platform (TPTP)  Data Tools Platform (DTP)  Device Software Development Platform (DSDP)  SOA Tools Platform (STP)  Modeling  Technology project
  • 5.
    Le projet Eclipse Développer des applications en Java  En 2004 : Etendu pour être utilisé pour tout type d’application  Caractéristique principale : Extensibilité  Plugin  Module chargé sous éclipse  Le noyau d'Eclipse gère le cycle de vie des plugins (découverte, chargement, mise à jour, déchargement…)  SWT : Outils grqphiques communs à tous les plugin  Deux Sous projets importants  JDT  PDT
  • 6.
    Eclipse Tools  Projetsopen sources liés à eclipse  CDT : sous projet pour developper C/C++ sous eclipse  GEF : librairie permettant la création et la manipulation de graphiques en deux dimensions.  VE (Visual Editor) : constructeur d'interfaces graphiques Java  ………………………………………………..
  • 7.
    WTP - WebTools Platform  fournir des outils de développement d'applications Web basées sur J2EE  Web Standard Tools  J2EE Standard Tools  JSF Tools
  • 8.
    BIRT - BusinessIntelligence and Reporting Tools  système de création de rapports pour les applications Web  fournit des outils pour la prise en compte des quatre étapes de la création d'un rapport  La récupération des données  La transformation des données  L'ajout de règles métier  La mise en forme
  • 9.
    TPTP - EclipseTest and Performance Tools Platform  Outillage nécessaire pour tester les applications et identifier les problèmes de performances  TPTP Platform Project  TPTP Test Tools Project  TPTP Tracing and Profiling Tools Project  TPTP Monitoring Tools Project
  • 10.
    DTP - DataTools Platform  Outils pour la connexion aux bases de données relationnelles  Des assistants : définir les informations de connexion JDBC à une base de données relationnelle.  Un explorateur de bases de données (liste des tables, structure des tables, …)  Des éditeurs SQL :  éditeur de code source  éditeur visuel  Un testeur de requêtes SQL : visualiser le résultat.
  • 11.
    STP - SOATools Project  Fournir les outils nécessaires à la mise en œuvre d'architectures orientées services  Conforme aux travaux sur une nouvelle spécification : Service Component Architecture (SCA)
  • 12.
    Eclipse Modeling Project Framework de modélisation, infrastructure de génération de code et des applications basées sur des modèles de données structurées.
  • 13.
  • 14.
  • 15.
  • 16.
    Creation d’un projet File -> new project
  • 17.
    Le menu refactoring Aspect très important de la programmation Objet,  Le changement de nom d'une méthode peut se répercuter très loin dans les classes descendantes  Le refactoring est accessible  depuis le menu Refactor du menu principal  depuis le menu contextuel  une vingtaine de fonctions de refactoring existent  Applique des modifications soit sur le type de la classe ou de l'interface, soit réorganiser le code lui- même
  • 18.
    Le menu refactoring: Quelques fonctions  Extract Method : extraire le code selectionné  Rename...  Move  Change signature  Extract local variable
  • 19.
  • 20.
    Exécuter un projet clic-droitsur le .java de la classe, puis de sélectionner Run As -> Java application
  • 21.
    Exécution avec desarguments puis Run As -> Run ->"Java application" -> "New"
  • 22.
  • 23.
  • 24.
    Debogage  débogage :permet de voir ce qui se passe quand le programme s'exécute  Exemples :  consulter l'état des variables et des champs  regarder dans quelles fonctions le programme passe et avec quelles valeurs des paramètres  exécuter le programme pas à pas ou fonction par fonction  Définir un break point  Contrôle de l’exécution avec
  • 25.
    Raccourcis Eclipse  Permetd’être plus efficace en utilisant son IDE  Catégories principales • Édition • Sélection • Recherche • Refactoring • Source • Debug • Run • Fichier • Navigation
  • 26.
    Raccourcis refactoring Raccourcis Action Alt+Maj+CModifier la signature d'une méthode Alt+Maj+L Extraire une variable locale Alt+Maj+M Extraire une méthode Alt+Maj+R Renommer Alt+Maj+T Ouvrir le menu de refactoring
  • 27.
    Raccourcis du menusources Raccourcis Action Ctrl+Maj+/ Commenter/décommenter le bloc Ctrl+Maj+M Importer l'élément Ctrl+Maj+J Initier la Javadoc Ctrl+Maj+F Formater Ctrl+I Indenter le bloc Ctrl+Maj+O Organiser les imports Alt+Maj+S Ouvrir le menu rapide de source Alt+Maj+Z Ouvrir le menu rapide d'entourage (pour entourer avec if, try, for, etc.)
  • 28.
    Raccourcis Debug Raccourcis Action Alt+Maj+DOuvrir le menu de lancement de debug F11 Relancer le dernier debug F11 Relancer le dernier debug F8 Continuer Ctrl+F2 Terminer F5 Aller dans l'instruction (entrer) F6 Aller à l'instruction suivante F7 Sortir Ctrl+Maj+B Ajouter/supprimer un point d'arrêt
  • 29.
    Les plug-in sousEclipse  Plug-in :  enrichir l'environnement de développement  développer des applications Eclipse RCP  Concrétisation de deux objectifs  Modularité  Extensibilité  Fichier JAR de java  mécanisme basique pour permettre la livraison d'une application en plusieurs modules
  • 30.
    Eclipse : lemicro-noyau  conçu autour d'un mécanisme de micro-noyau  gérer le cyle de vie des modules  découverte, chargement, déchargement, mise à jour  Depuis Eclipse 3 :  Réécriture du noyau d’eclipse : Equinox
  • 31.
    Structure du plug-in fichier JAR + deux fichiers manifestes  META-INF/MANIFEST.MF  plug-in.xml  MANIFEST.MF  exploité par le noyau d'Eclipse, Equinox  Contient des informations sur le plug-in  (version, liste des classes visibles, ...)  plugin.xml  propre à Eclipse  déclarer des points d'extension  ………………………………….