Eclipse

De Ensiwiki
Aller à : navigation, rechercher
Eclipse.png Eclipse
Développeur Eclipse Foundation

Dernière version 3.4

Type General-purpose IDE
Licence GPL

Site Web Eclipse main page

Windows.png  Windows Apple.png  MacOS X Tux.png  Linux 

55 %

Introduction

Eclipse est un environnement de développement (IDE) particulièrement puissant. Il permet en particulier de développer en java et en C++, mais offre de nombreuses autres possibilités grâce à un complexe système de plugins (dans Eclipse, quasiment tout est un plugin).

Installation

Pour se faire une idée des différentes fonctionnalités, rien ne vaut un petit test.

  • Sous Windows, Eclipse s'installe on ne peut plus facilement par la technique, vieille comme le monde (enfin, l'informatique), dite "du dézippage" : télécharger, extraire, ouvrir le dossier, cliquer sur eclipse.exe.
  • Sous Linux il peut être plus agréable d'utiliser son gestionnaire de packages préféré, mais attention, sous Ubuntu/Kubuntu, les packages ont 2 ans (Eclipse 3.2), donc exit les nombreuses améliorations apportées depuis (si vous n'êtes pas contents, souvenez-vous qu'Ubuntu est un Linux pour débutants, pas pour développeurs, mais ce n'est pas une excuse).

Choisissez "Eclipse IDE for Java Developers" si vous haïssez le C++, "Eclipse IDE for C/C++ Developers" si vous voulez défigurer la console d'Eclipse avec des SIGSEGV, et "Eclipse Classic" pour avoir tout (et pas n'importe quoi), en particulier de quoi créer vos propres plugins.

Au premier démarrage, Eclipse vous propose de choisir votre 'workspace' (espace de travail). Techniquement, ce dossier contiendra quelques fichiers référençant les différents projets associés à cet espace de travail. Les nouveaux projets sont par défauts dans ce répertoire, mais ce n'est pas obligatoire.

Remarque pour utilisateur avancéIl est possible de donner des options de lancement à Eclipse sur la ligne de commande, ou de manière permanente via un fichier de configuration. Les options incluent quantité de mémoire allouée, workspace, titre de la fenêtre... Plus d'infos dans la documentation d'Eclipse.


Get started

Comme toute section éponyme qui se respecte, soyons bref :
1. Si tout va bien vous avez un belle fenêtre Eclipse en plein écran. Sinon, revenez à l'étape "Installation" ;-)
2. Si c'est la première fois que vous lancez Eclipse, cliquez sur la flèche à droite pour aller dans l'espace de travail 3. Copiez le code suivant :

           System.out.println("Hello World!");

Si ce code vous est obscur, allez voir ici.
4. Sur la partie gauche de l'écran doit maintenant se trouver la vue Package Viewer. Cliquer sur la partie vide de la vue. 5. Pressez Ctrl+V. Si le focus est bien sur cette vue, et si vous utilisez bien Eclipse 3.4 ou supérieur, Eclipse va vous créer tout seul:

  • un projet dans le workspace
  • un dossier source 'src'
  • un package 'snippet'
  • une classe 'Snippet' dans un fichier 'Snippet.java'
  • une méthode main avec votre code ! Elle est pas belle la vie ?

6. Maintenant, pressez Ctrl+F11 pour lancer votre programme (ou, si cela ne marche pas, essayez le raccourci Alt+Maj+X, puis pressez J). Dans la console en bas de l'écran devrait se trouver votre premier 'Hello World!' en Java...


Principales fonctionnalités

Eclipse, c'est un peu comme vi (non, ne fuyez pas !), si vous ne connaissez pas les fonctionnalités, vous vous retrouvez avec un éditeur de texte qui met presque 1 minute à se lancer, c'est pas top... Alors on va essayer d'éviter ça !

(Par ordre d'importance)

  • Ctrl+Espace : la combinaison à tout faire nº1 : la complétion automatique
  • Ctrl+1 : la boite à outils nº2 : le 'Quick Fix'. Propose des corrections pour les erreurs et les avertissements (dans ce cas un bouton est disponible sur la gauche de l'écran), et des suggestions dans beaucoup d'autres cas (Assigner une expression à une variable locale ou a un champ, 'Join variable', 'Inline local variable', créer des accesseurs/mutateurs pour un champ, remplacer une concaténation de chaînes par un StringBuilder,...)
  • Ctrl+Clic sur le nom d'une fonction/d'une variable (ou F3 quand le curseur est dessus) : vous emmène directement à la déclaration du machin, et si vous cliquez sur la déclaration d'une fonction, ça vous emmène a sa définition (son code)
  • Ctrl+Alt+H : Hiérarchie d'appels (Call Hierarchy)
  • Ctrl+Shift+F : Réindente tout le fichier selon le style d'indentation que vous avez choisi
  • Alt+Maj+R : Renommage intelligent
  • Alt+Maj+V : Déplacement intelligent
  • Ctrl+H  : rechercher les fichiers contenant une chaine de caractères donnée dans tout le workspace (ou une sous partie) et plus encore
  • Ctrl+shift+T : rechercher des fichiers (utile quand il y en a énormément ... )
  • ...

Projets et Workspaces

Eclipse permet de gérer plusieurs workspaces (l'adresse du workspace est demandée quand vous démarrez eclipse)

Selectworkspace.jpg

Dans un workspace on peut avoir différents projets et eclipse permet de travailler sur chacun d'entre eux simultanément. La compilation des fichiers .java en fichiers .class (qui contiennent le bytecode executé par la Java Virtual Machine) se fait de manière continue, le bouton play ne fait que l'équivalent de l'édition des liens et l'exécution.

Vues (ou pourquoi il y a plein de fenêtres partout ?)

Vues les plus utiles

  • Console (évidemment) : Familiarisez vous rapidement avec les touches permettant de changer de console et d'ouvrir une nouvelle console. En particulier, notez que 'New Error Console' vous permet de coller une pile d'erreur et d'aller directement à la ligne de code correspondant à chaque 'frame' de la pile.
  • Call Hierarchy : ouverte par le raccourci Ctrl+Alt+H. Vous pouvez basculer entre 'caller hierarchy' et 'callee hierarchy' via un bouton en haut à droite
  • Javadoc

Complétion

Comment ça marche

La complétion est automatiquement déclenchée par la frappe du caractère '.' (point), et peut-être provoquée par la combinaison Ctrl+Espace. La complétion fait appel au contexte et au typage pour proposer des réponses adaptées. Le contexte inclut toutes les variables locales, les champs de la classe et des classes-mères. Le contexte est d'abord lié la position du curseur (dans une classe, dans une fonction, après un '='...), et ensuite à ce qui a déjà été tapé. En particulier la casse (minuscule/majuscule) a une forte influence sur l'ordre de la liste de complétion.

Macros utiles

Toutes les commandes suivantes se terminent par la combinaison magique Ctrl+Espace, et risquent de vous faire gagner un temps précieux.

  • System out : syso : Celle-ci sera remplacée par un "System.out.println();" et vous évitera donc les "PrintStream out = System.out;", "import static java.lang.System.out;" et autres astuces foireuses pour économiser des caractères...
  • System err : syse : Idem pour la sortie d'erreur, sera remplacé par "System.err.println();"... mais pour les projets de taille conséquente, pensez à utiliser log4j !
  • System trace : syst : System.out.println("NomDeLaClasse.nomDeLaFonction()");
  • Main method : main : bon si vous n'avez pas compris, il ne vous reste plus qu'à aller
  • Getter / Setter (Accesseurs/Mutateurs) : Tapez en dehors des définitions de fonctions/variables 'get' et pressez Ctrl+Espace... c'est simple et puissant !
  • Constructeur : Créer un constructeur avec Eclipse est on ne peut plus simple, placez le curseur à l'extérieur des définitions de fonctions/variables, pressez Ctrl+Espace puis pressez Entrée, car cette macro est la première de la liste. Notez que pour créer un constructeur plus compliqué, deux assistants sont à votre disposition dans le menu 'Source' : Generate Constructors using fields et Generate Constructors from Superclass.
  • Nouvelle méthode : Si vous tapez en dehors des définitions de fonctions/variables un nouveau nom de fonction (oui, oui, c'est-à dire n'importe quoi), puis pressez Ctrl+Espace, Eclipse vous proposera de créer une fonction 'private static void maFonction() {}'. Bon, d'accord, il faut vraiment être flemmard d'autant plus que 9 fois sur 10 private, void, et sans argument ne seront pas à vôtre goût... mais il y a mieux : si il s'agit de surcharger une méthode (i.e. définie dans une super-classe), il suffit d'entrer le début du nom pour se voir proposer la complétion appropriée !
  • Nouvel objet : new : Bon, je dirais que celle là est pour les flemmards...
  • Conversion de type : cast
  • Sous-classe : instanceof

Gestion de projets

En plus de la notion de packages, Eclipse utilise différents niveaux pour vous aider à organiser votre travail : La notion d'espace de travail (workspace), celle de projets, et celle de dossiers source.

Workspace

Un workspace regroupe à la fois un ensemble de projets, et un ensemble de configurations, à la fois d'Eclipse et des plugins.

Deux principales possibilités vous sont offertes :

  • N'utiliser qu'un seul espace de travail : option la plus simple, vous pouvez alors dire à Eclipse de se souvenir de votre choix, cependant votre workspace peut devenir surchargé au fil du temps, ralentissant du même coup un peu plus Eclipse. Pour compenser vous pouvez 'fermer' des projets (clic droit -> close project). Sachez aussi qu'il est toujours possible de
  • Utiliser plusieurs espaces. Avantages : clarté, rapidité d'Eclipse, différentes dispositions, vues, et paramètres. Inconvénients : choix du dossier à chaque démarrage, difficulté de récupérer du code d'un autre projet, modifications apportées à un seul espace quand on voudrait qu'elles le soient à tous.

_____________

  • .metadata

Projets

  • .project
  • nouveau projet/import de projet

Plugins

Subclipse

Subsclipse est un plugin qui permet d'intégrer SVN dans eclipse. On peut l'installer en faisant, dans eclipse : Help->Install New Software et dans la fenêtre qui apparait en rentrant l’adresse suivante :

http://subclipse.tigris.org/update

comme ci dessous

Subclipseinstall.jpg

quelques next plus tard et c'est installé

plus d'infos ici : http://baptiste-wicht.developpez.com/tutoriels/eclipse/svn/

Subversive

Subversive est une autre excellente extension permettant de gérer des projets SVN, mais elle n'est pas aussi officielle que Subclipse, qui est depuis quelques années le 'Eclipse Team Provider' officiel.

PyDev

Permet d'utiliser Eclipse pour faire du python. La version avancée est payante, mais la version gratuite a déjà le principal. Plus de détails sur le site.

RegExp Util

UML

UMLet, ...

JadClipse

Nécessite l'installation de Jad dans le système. Ce plugin permet de faire le wrapping entre le programme et l'interface d'Eclipse, ce qui permet donc de décompiler une class simplement en l'éditant dans Eclipse. Le lancement de Jad est paramétrable via l'interface des préférences.

Ada

Il existe quelques plugins pour faire de l'Ada dans Eclipse. L'un est proposé par Adacore, l'autre par Aonix. Il existe une solution libre actuellement en développement (Hibachi).

Le plug-in GNATbench d'AdaCore est disponible à la page [1] (sélectionner GNATbench->gnatbench-x.x.x-bin.zip, et "Download selected files" en bas de page)

Il s'installe en faisant Help->Install New Software, puis en sélectionnant Add... puis Archive... Il faut alors rechercher l'archive zip téléchargée, et valider.

Vous pouvez alors faire File->New->Project... et sélectionner Ada Project.

Liens

Téléchargement

Aide

Plugins

HelloWorld en video