(Microsoft PowerPoint - Introduction \340 Eclipse [Mode de
Transcription
(Microsoft PowerPoint - Introduction \340 Eclipse [Mode de
Introduction à Eclipse Les bases de l’Environnement de Développement Intégré (EDI) Eclipse pour le langage Java IUT de l’Université de Caen Département Informatique Semestre 2 - 2010 Olivier CHARLES Formateur – Consultant Email : [email protected] Sommaire Chapitre Chapitre Chapitre Chapitre Chapitre Feu Vert 1 : Présentation 2 : Les notions de base 3 : Projets Java 4 : Aides au développement 5 : Exécution et paramétrage et Bibliographie 3 11 17 31 45 59 2 Chapitre 1 : Présentation A l’origine d’Eclipse IDE Un logiciel libre Architecture de base Evolutions récentes Projets Eclipses Les langages supportés 3 A l’origine d’Eclipse Un projet lancé chez IBM en 2001 Non de code : Eclipse IDE Eclipse ? Pour éclipser le soleil (Sun) ? Rivalité Sun IBM Les objectifs : Un logiciel libre de droits Le développer avec Java et les bibliothèques SWT et JFace d’IBM Fournir un environnement de développement normalisé, ouvert et extensible par l’intermédiaire de plug-ins Pouvoir traiter plusieurs langages Intégrer les standards et pratiques dans des perspectives et des vues intégrables ( JUnit, Ant, SVN … ) 4 Un logiciel libre Un cœur réutilisable pour faire son propre environnement de développement Eclipse est basé sur une architecture de « plugins » conforme à la norme OSGi Alliance ( Open Services Gateway initiative ) Plusieurs logiciels commerciaux sont basés sur ce logiciel libre, comme par exemple IBM Lotus Notes 8, IBM Symphony ou WebSphere Studio Application Developer. 5 Architecture de base Eclipse Platform, composée de : Platform Runtime démarrant la plateforme et gérant les plug-ins SWT, la bibliothèque graphique de base de l‘EDI et JFace basée sur SWT Eclipse Workbench pour les vues, les éditeurs et les perspectives. Ces composants de base peuvent être réutilisés pour développer des clients lourds indépendants grâce à Eclipse RCP (Rich Client Platform). L'ensemble des outils de développement Java sont ensuite ajoutés en tant que plugins, regroupés dans le projet Java Development Tools (JDT) selon les recommandations de OSGi. 6 Evolutions récentes Date Version Commentaire Juin 2009 3.5 (Galileo) Version 3.5 officielle. Actuellement à l’IUT Novembre 2008 3.5 M3 (Galileo) Milestone 3 (troisième ébauche de la version 3.5) Septembre 2008 3.5 M2 (Galileo) Milestone 2 (deuxième ébauche de version 3.5) Septembre 2008 3.4.1 (Ganymede) A l’IUT l’année dernière Septembre 2008 3.5 M1 (Galileo) Milestone 1 (première ébauche de la future version 3.5) Juin 2008 3.4 (Ganymede) Juin 2007 3.3 (Europa) Septembre 2006 Juin 2006 3.2.1 3.2 (Callisto) 21 projets. 17 millions de lignes de codes écrites par 310 développeurs dans 19 pays. dix projets concernés 7 Projets Eclipse Grâce à l’architecture ouverte de nombreux projets Eclipse libres ou commerciaux voient le jour. Quelques exemples : Web Tools Platform project (WTP) propose de nombreux outils pour le développement d'applications web en Java. C/C++ Development Tools Project (CDT) est un environnement complet de développement pour les langages C et C++ pour Eclipse. Business Intelligence and Reporting Tools Project (BIRT) Test and Performance Tools Platform (TPTP) Visual Editor project (VE) UML2 est un projet pour le développement de modèles UML 2.0 dans Eclipse (UML2) COBOL IDE for Eclipse Subproject (COBOL) AJAX Toolkit Framework est un projet visant à proposer des outils pour le développement d'applications AJAX (ATF) PHP Development Tools framework (PDT) est destiné au développement d'application web basées sur le langage PHP côté serveur. 8 Les langages supportés ( Fin 2008 ) Java GAP pour system i C# Ada, C++ et C Objective Caml, Python ,Perl (EPIC), Ruby COBOL Pascal PHP (PDT) Javascript, XML, HTML, XUL SQL Action script, Coldfusion, Magik 9 Liens WEB utiles Les sites officiels http://www.eclipse.org/ http://www.eclipseplugincentral.com/ : gestion des projets Eclipse officiels Le site « developpez » http://eclipse.developpez.com/faq/ http://www.developpez.net/forums/f94/enviro nnements-developpement/eclipse/ Http://eclipse.developpez.com/cours 10 Chapitre 2 : Les notions de bases La Le La La notion notion notion notion de de de de Workspace Perspective Vue Projet 11 Le notion de Workspace Eclipse stock les fichiers projets dans des Workspaces (espace de travail) Un Workspace est fondamentalement un REPERTOIRE Il existe un Workspace par défaut qui est créé lors de l’installation d’Eclipse Il est possible de créer d’autres Workspaces et d’en changer par le menu File / Switch Workspace. Eclipse redémarre et se positionne sur le nouveau Workspace 12 Les perspectives et les vues Pour un projet donné, il existe plusieurs perspectives. On active une perspective à la fois Ex : Perspectives Java ou Java Browsing … Pour une perspective donnée il est possible d’activer/désactiver des vues. Ex : Vues Console ou Package Explorer … Pratique pour retrouver la console ! 13 Exemple de Perspectives Utiles : les perspectives Java et Java Browsing 14 Exemples de Vues Utiles : les vues Package Explorer, Console, Task List ,SVN Repositories etc.. . 15 La notion de projet Finalement un projet Eclipse est un ensemble de fichiers utilisateurs et de fichiers Eclipse stockés dans un workspace que l’on peut explorer sous différents angles à l’aide de perspectives que l’on configure avec des vues suivant ses propres besoins. Tel est le cas des projets Java ! 16 Chapitre 3 : Projets Java Créer un projet Eclipse java HelloWorld : perspectives et vues Sauvegarder et Exporter un projet java Exporter un projet Eclipse java Sous forme de fichiers Sous forme d’archive de fichiers .zip Importer un projet Eclipse java Depuis des fichiers Depuis une archive .zip ou .tar 17 Créer un projet Java Il suffit d’activer le menu file / new / Java Project On peut ensuite paramétrer Le nom du projet Le répertoire source ( si existant ) La version du JRE 18 HelloWorld : Perspectives et Vues Perspective Active : Java Liste des perspectives Vues -Tasks -Console -Problems Vue -Package Explorer 19 HelloWorld : une autre perspective Perspective Active : Java Broswing 20 HelloWorld : La vue console activée Perspective Active : Java Broswing Avec la vue Console Ici on a configuré la perspective Java Browsing avec la vue console. 21 Sauvegarder et Exporter un projet Il existe 2 manières de sauvegarder un projet Java Eclipse La sauvegarde classique si vous travaillez sur un workspace fixe avec le menu « File/Save » L’exportation si vous décidez d’utiliser votre projet sur une autre machine ou de distribuer votre projet à d’autres personnes • Exportation sous forme de fichiers • Exportation sous forme d’archive .ZIP .TAR ( Très pratique pour s’échanger des projets ) 22 Exporter sous forme de fichiers 1) Cliquer droit sur le projet dans la vue Package Explorer 2) Sélectionner Export … dans le menu contextuel 3) Choisir General / File System dans la liste des destinations possibles 4) Cliquer sur le bouton « Next » 23 Exporter sous forme de fichiers 5) Sélectionner les fichiers intéressants pour votre exportation. En général on ne prends que les fichiers sources ( src ) et les fichiers Eclipse .classpath et .project 6) Indiquer le répertoire de destination dans le champ « To Directory » 7) Cocher éventuellement les options surtout si il existe déjà des fichiers du projet dans le répertoire de destination 8) Cliquer sur « Finish » pour lancer l’exportation 24 Exporter sous forme d’archives .ZIP .TAR 1) Cliquer droit sur le projet dans la vue Package Explorer 2) Sélectionner Export … dans le menu contextuel 3) Choisir General / Archive File dans la liste des destinations possibles 4) Cliquer sur le bouton « Next » 25 Exporter sous forme d’archives .ZIP .TAR 5) Sélectionner les fichiers intéressants pour votre exportation. En général on ne prends que les fichiers sources ( src ) et les fichiers Eclipse .classpath et .project 6) Indiquer le chemin du fichier archive de destination dans le champ « To Archive File » 7) Cocher éventuellement les options pour indiquer le format de l’archive 8) Cliquer sur « Finish » pour lancer l’exportation 26 Importer un projet existant De la même manière l’importation d’un projet existant, qui n’existe pas dans le workspace courant d’Eclipse, peut se faire depuis Un répertoire contenant l’ensemble des fichiers nécessaires à la construction du projet. Une archive contenant l’ensemble des fichiers nécessaires à la construction du projet. ATTENTION : Si un projet de même nom existe déjà dans le workspace courant, l’importation échoue. ATTENTION : Il est possible d’importer un projet en pointant vers les fichiers sources ou en copiant ces fichiers sources dans le workspace courant. 27 Importer depuis un répertoire De la même manière que pour l’exportation, on clique droit dans la vue Package Explorer et on active le menu Importation / General / Existing Project Into Workspace 1) Sélectionner « Select root directory » et entrer le répertoire racine du projet source. 2) Cocher le ou les projets reconnus par Eclipse 3) Cocher la case « copy projects into workspace » pour copier les fichiers sources. 4) Cliquer sur « Finish » pour lancer l’importation 28 Importer depuis une archive .zip .tar Même procédé, on clique droit dans la vue Package Explorer et on active le menu Importation / General / Existing Project Into Workspace 1) Sélectionner « Select archive file » et entrer le le chemin de l’archive. 2) Cocher le ou les projets reconnus par Eclipse dans l’archive 3) Noter que les fichiers sources sont forcément copiés ( zone grisée ) 4) Cliquer sur « Finish » pour lancer l’importation 29 Exportation / Importation partielle Il est bien sur possible à tout moment d’exporter et d’importer, un package , une ou plusieurs classes , un ensemble de fichiers à l’intérieur même d’un projet, depuis et vers un projet déjà existant. L’important est de savoir ce que l’on fait et d’avoir bien compris la philosophie Import/Export d’Eclipse 30 Chapitre 4 : Aides au développement Créer un package java Créer une classe java La Complétion et les Quick Fixes Avertissement (Warning) et Erreurs Nettoyage de code Exploration du code Le menu source Changement dans la conception (Refactoring) 31 Créer un package java Activer le menu File / New / Package par un clique droit sur l’élément contenant le package à créer 32 Créer une nouvelle classe Activer le menu File / New / Classe par un clique droit sur le package contenant la classe à créer. Il est conseillé de créer les classes dans des packages existants. Eviter de passer par le package par défaut. 1) Le nom de la classe 2) Sa classe parente ou super classe 3) Cases à cocher de génération automatique de code ( main , …. ) 4) Cliquer sur « Finish » pour créer la classe et générer le code. 33 La Complétion Complétion : propose ou complète le code courant, et crée du code manquant. On l’active avec la combinaison de touches « CTRL + ESPACE » pour Obtenir la listes des éléments possibles à partir du contexte et des premières lettres (méthodes, classes …) Trouver un élément avec ses initiales CamelCase • Ex: HelloWorld -> HW CTRL+ESPACE Créer les setters et les getters sur des attributs privés • Ex set CTRL+ESPACE ou get CTRL+ESPACE Compléter ou créer des « morceaux » de code classiques à partir de patterns ou de mots clés paramétrables • Ex: main CTRL+ESPACE, if CTRL+ESPACE, for CTRL+ESPACE 34 Ex. Complétion : setters automatique Suivant le contexte la complétion propose une méthode inexistante ( ici un setter setUnChamp ) et la crée dans le code si on la sélectionne ! 35 Les Quick Fixes Permet de corriger rapidement une erreur détectée par Eclipse à partir d’une liste de corrections possibles que l’on obtient par « CTRL + & » Galiléo contient près de 60 quick fixes pour le code java Le système de Quick Fixes propose également de créer du code inexistant pour corriger l’erreur. Il s’agit donc aussi d’un outil de génération de code. Ex: setParameters( 5 , 5 ) n’existe pas dans le code, il y a donc une erreur détectée. Il existe un Quick Fixe qui permet de créer la méthode setParameters avec 2 entiers ! 36 Ex. Quick Fixe générateur de code La méthode setParametres avec un entier et un double est créée pour corriger l’erreur ! Quick Fixe ! Eclipse détecte une erreur : la méthode setParametres n’existe pas ! 37 Avertissement et Erreur Eclipse détecte en permanence les erreurs dans votre code et vous averti par 2 symboles dans la marge gauche Symbole d’avertissement : Symbole d’erreur : Conseil : placer la souris sur le symbole et comprendre l’intitulé de l’erreur. 38 Nettoyage de code On entends par nettoyage Le formatage du code « CTRL+SHIFT+F » L’indentation du code sélectionné « CTRL + I » La mise à jour des imports et l’élimination des imports inutilisés « CTRL + SHIFT + O » Ces actions peuvent êtres activées par le menu Source > Clean Up Il est possible de paramétrer sa politique de formatage dans un fichier de sauvegarde. Cette opération se fait par le menu Window > Preference > Java 39 Paramétrage des règles de codage 40 Exploration du code Il est possible d’explorer et de naviguer dans la hiérarchie des classes et des interfaces d’un projet inconnu en utilisant entre autres le raccourci « CTRL + T » 41 Le menu Source Le menu source permet de faire des opérations sur le source entier d’une classe. Ajouter retirer des lignes ou blocs de commentaires Nettoyer le source Formater le source Indenter le source Organiser les imports Ajouter automatiquement les getters et setters Ecrire les méthodes héritées afin de les redéfinir. 42 Menu Source/Generate Getters and setters 1) Cocher les champs privés voulus 2) Sélectionner les getters et/ou les setters 3) Déterminer les point d’insertion du code généré dans le source 4) Cocher la génération des commentaires si besoin 5) Cliquer sur Ok : les méthodes sont générées dans le source 43 Le refactoring Les projets avec itérations courtes imposent des changements fréquents dans la conception. Le refactoring offre une série d’outils permettant d’aider le développeur à faire évoluer son code sans dommage. Renommer une classe partout dans le projet Déplacer une classe dans un autre package Changer la signature d’une méthode Etc … Le menu Refactoring d’Eclipse prend en charge cette fonction 44 Chapitre 5 : Exécution et paramétrage La gestion des configurations de lancement de programme Créer une bibliothèque de classes Importer dans des bibliothèques JAR internes ou externes à Eclipse Créer un fichier JAR auto-exécutable Configurer son projet : compatibilité java, aspects de l’éditeur, etc … 45 Exécution d’un programme Java Lancement classique: il suffit de cliquer droit sur une classe qui contient une fonction main et d’activer le menu « Run As / Java application ». 46 Exécution d’un programme Java La première exécution génère automatiquement une configuration de lancement par défaut. Cette configuration se retrouve sous le classique symbole de lancement et porte le nom de la classe 47 Gestion des configurations Les configurations permettent de sauvegarder des paramètres de lancement différents dans divers projets. Pour un même projet on peut avoir plusieurs configurations de lancement. Il est possible d’en créer une différente à tout moment par le menu « Run Configurations ». On peut donc à tout moment lancer une configuration donnée, pour n’importe quel projet ouvert. 48 Gestion des configurations Exemple avec les tours de Hanoï. On veut créer une configuration « Hanoï avec 6 plateaux » qui lance le programme avec 6 plateaux sachant que si il y a un argument passé au programme, le main considère que c’est le nombre de plateaux. On active le menu de « Run configurations » et on crée une nouvelle configuration nommée « Hanoï avec 6 plateaux ». Pour cela on utilise les boutons d’ajout, suppression etc … dans la boîte de dialogue ( voir page suivante ) 49 Gestion des configurations 1) Boutons Ajout, Suppresion, etc … 2) Le nom de la configuration 3) Onglets de paramétrage. Ex : les arguments du main 4) Le paramètre 5) Le bouton Apply pour créer la configuration 6) Le bouton run pour lancer la configuration et la voir apparaître dans les favoris. 50 Gestion des configurations On retrouve cette dernière configuration dans les favoris. Si on ne la trouve pas on peut l’obtenir par le menu « Organize Favorites » 51 Créer une bibliothèque de classes JAR Exemple avec la bibliothèque JTutoDessin JTutoDessin comprends 3 classes stockées dans le package jtuto.dessin Elle permet de faire du dessin permanent de type logo avec 5 stylos de couleurs différentes Il peut donc être intéressant de faire une bibliothèque archive .JAR de ces 3 classes et de l’inclure dans tous les projets nécessitant de faire du dessin simple. 52 Créer une bibliothèque de classes JAR Cliquer droit sur le projet, menu « Export / Java / JAR File » Cliquer sur le bouton Next, puis choisir les fichiers à exporter dans la bibliothèque, donner le nom et le chemin de l’archive, puis cliquer sur le bouton Finish pour générer l’archive. C:\build\jtutodessin.jar 53 Référencer une archive existante Exemple : un projet Hexagone qui dessine un hexagone bleu avec une longueur des côtés de 100 pixels Nous avons besoins des classes de JTutoDessin. Pour cela nous allons inclure l’archive jtutodessin.jar dans le projet Hexagone pour utiliser ses classes Eclipse ne reconnaît pas le package jtuto.dessin Il déclenche une erreur Pour y remédier, il suffit de référencer l’archive jtutodessin.jar par le menu « build path » 54 Référencer une archive existante Cliquer droit puis menu « Build Path / Add External Archive » Le package jtuto.dessin est maintenant reconnu. L’archive est référencée sous « Referenced Librairies » 55 Créer un fichier JAR auto-exécutable Le programme Hexagone fonctionne sous Eclipse. Nous voulons créer un fichier JAR auto exécutable sous windows, sans passer par Eclipse ou l’appel manuel de java. 56 Créer un fichier JAR auto-exécutable Cliquer droit sur le projet, menu « Import / Java / Runnable JAR File » Choisir la configuration de lancement. Donner le nom du fichier auto-exécutable et générer. Le fichier est généré avec les bibliothèques nécessaires. Dans l’explorateur Windows, un double click sur hexagone.jar lance bien le programme ! 57 Configurer son projet : compatibilité Il peut arriver qu’Eclipse soit configuré pour que vos fichiers java soient compatibles avec des versions antérieures de Java ( jdk 1.2, 1.3, 1.4, 1.5 ) Il est alors possible que du code conçu avec le jdk 1.6 ne soit pas pris en compte et génère des erreurs. Il faut alors configurer la compatibilité dans le menu « Project / Properties / Java Compiler » Cocher la case « Enable project specific settings » et choisir le jdk voulu. 58 Configurer l’éditeur java d’Eclipse Si vous voulez développer avec une autre police ( type et taille). Sélectionner le menu « window/preferences » Sélectionner les options «General/Appearance/Colors & Fonts» puis cliquer sur « Java / Java Editor Text Font » puis utiliser le bouton « Change » pour changer la fonte 59 Feu vert pour utiliser Eclipse Vous pouvez désormais utiliser Eclipse dans le cadre des TD/TP de java ! 60 Bibliographie Wikipédia Journal Programmez n° 116 Fév 2009 61