IntelliJ (ou idea) est un IDE ( environnement de développement intégré ) réalisé par JetBrains qui a vu sa popularité s'accroître ses dernières années. L'objectif de cet article est de découvrir IntelliJ et d'avoir un aperçu de ce qui fait le succès de cet IDE.

- Titre : Premier pas avec IntelliJ

- Auteur : Rieu Damien

- Parution : 10 avril 2013

- Mise à jour : 15 avril 2013

- Licence : Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2013 Rieu Damien. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée à la SACD.

Sommaire

- I. Installation

- I-A. Les différentes versions d'intelliJ

- I-A-1. La version Community

- I-A-2. La version Ultimate

- I-B. Nouveauté de la version 12.1

- II. Présentation d'intelliJ

- II-A. Menu et barre d'outil

- II-A-1. Zone 1 : La barre de menu

- II-A-2. Zone 2 : La toolbar

- II-A-3. Zone 3 : Popup menus

- II-A-4. Zone 4 : Context menus

- II-B. Barre de navigation

- II-C. Barre de status

- II-D. L'éditeur

- II-D-1. Zone 1 : l'éditeur

- II-D-2. Zone 2 : Gutter bar

- II-D-3. Zone 3 : fenêtre de complétion

- II-D-4. Zone 4 : Documents tabs

- II-D-5. Validation/marker tabs

- II-E. Boîte à outil

- II-E-1. La vue projet

- II-E-2. La vue structure

- III. Projet Spring

- III-A. Projet exemple

- III-B. Navigation dans un projet Spring

- III-C. Création de bean rapide

- III-D. Changer la version de Spring

- IV. Première impression

- IV-A. Réactivité

- IV-B. Comfort d'utilisation

- IV-C. Beaucoup de plugins par défaut

- IV-D. Productivity guide

- V. Conclusion

I - Installation

I-A - Les différentes versions d'intelliJ

Vous pouvez télécharger IntelliJ à l'adresse suivante : http://www.jetbrains.com/idea/download/index.html

I-A-1 - La version Community

C'est la version communautaire d' IntelliJ. Elle est gratuite et le code source est disponible sous GitHub. Cette version contient toutes les fonctionnalités nécessaires pour créer un projet simple.

Avec cette version, vous allez pouvoir :

- Créer un projet standard (Java, Scala, Groovy, Clojure)

- Utiliser les outils de versionning : Git, Svn, Mercurial et Gradle

- Utiliser des outils de build : Maven, Ant, Gradle et Gant

- Faire des applications pour Android

I-A-2 - La version Ultimate

C'est la version que nous avons testé dans cet article. Elle est disponible en version 30 jours d'évaluation.

En plus des fonctionnalités offertes par la version communautaire, elle offre :

- le support de frameworks tels que Spring, JEE, Play

- le support de serveurs d'applications tels que JBoss, Tomcat, Weblogic ...

- le support de HTML, CSS, Javascript .

- ...

Vous pouvez comparer les fonctionnalités offertes par la version communautaire et la version Ultimate à l'adresse suivante :   http://www.jetbrains.com/idea/features/editions_comparison_matrix.html

I-B - Nouveauté de la version 12.1

La version 12.1 inclue les nouveautés suivantes :

- Ajout du support pour JavaFx 2

- Ajout du support complet pour Java 8

- Ajout du support pour Play Framework 2

- Ajout du support pour Spring

- Ajout d”un UI Designer pour Android

- Une compilation plus rapide

Pour plus de détails sur les nouveautés de la 12.1 : http://www.jetbrains.com/idea/whatsnew/index.html

II - Présentation d'intelliJ

Dans cette partie, nous allons présenter l'interface d' IntelliJ avec les différents éléments qui la compose.

Voici les différents éléments que nous allons décrire dans les parties qui suivent :

- Zone 1 : Menu et barre d'outil

- Zone 2 : Barre de navigation

- Zone 3 : Barre de status

- Zone 4 : L'éditeur

- Zone 5 : Boîte à outil

II-A - Menu et barre d'outil

II-A-1 - Zone 1 : La barre de menu

La barre de menu contient tout ce qui est nécessaire pour ouvrir, créer des projets, faire du refactoring, exécuter et débugger des applications ainsi que la gestion du versionning …

II-A-2 - Zone 2 : La toolbar

Cette toolbar contient les boutons qui duplique les commandes essentiels pour un accès plus rapide.

II-A-3 - Zone 3 : Popup menus

Ce menu contient des commandes spécifiques à un projet.

II-A-4 - Zone 4 : Context menus

Ces menus contient des commandes applicables pour un certain contexte.

II-B - Barre de navigation

La barre de navigation est une alternative rapide à la vue projet :

Dans, l'exemple ci-dessus, la barre de navigation affiche les différents niveaux d'arborescences pour accéder à la classe Cat. Si on clique sur le répertoire Animal, on voit alors la liste des classes et interfaces de ce fichier.

II-C - Barre de status

La barre de status indique le status courant de l'IDE et permet de modifier certains paramètres.

Voici les principaux icônes :

Permet d'afficher ou de cacher les barres d'outils windows.

Montre une description d'une commande en cours dans le menu principale, le context menu ou dans une barre à outil.

Si on clique dessus cela ouvre le task manager.

Permet de voir et de modifier l' encoding du fichier courant.

Hector icon.

Des icônes différents apparaissent selon les plugins utilisés. Par exemple, si on utilise Git, on verra un petit icône qui permet de sélectionner les branches de votre projet !

II-D - L'éditeur

II-D-1 - Zone 1 : l'éditeur

Cette zone permet d'éditer et de saisir son code source.

II-D-2 - Zone 2 : Gutter bar

Cette zone fournit des informations additionnelles sur le code et affiche différents icônes qui montrent des points d'arrêts, la structure du code, le code folding ...

II-D-3 - Zone 3 : fenêtre de complétion

Lors de la saisie, une fenêtre de complétion s'ouvre pour aider à la complétion de noms, de fonctions ...

II-D-4 - Zone 4 : Documents tabs

Cette zone va contenir les fichiers en cours d'édition dans différents onglets.

Il est possible de naviguer facilement entre les différents fichiers à l'aide du raccourcis ALT + GAUCHE/DROIT.

Il existe d'autres actions disponibles sur ces onglets. Pour cela, il suffit de faire un clic droit sur un des onglet.

Voici quelques exemples des possibilités offertes :

- pin d'un fichier : empêche un fichier en cours d'édition d'être fermer automatiquement.

- split d'une fenêtre : permet de séparer une fenêtre en deux.

- ajout de favoris : il est possible de créer d'ajouter un fichier dans un groupe de favoris. Ensuite ce groupe sera disponible dans la boîte à outil « Favorites ».

La boîte à outil favorites est accessible à l'aide du raccourcis ALT + 2

II-D-5 - Validation/marker tabs

Cette barre située sur la droite affiche des couleurs en rapport avec votre code. Elle permet d'identifier rapidement les lignes qui contiennent des warnings, des erreurs, des TODO ...

II-E - Boîte à outil

II-E-1 - La vue projet

C'est la vue qui va contenir l'arborescence du projet. Cette vue est très similaire à la vue projet d'éclipse. Dans cette vue, on peut par exemple utiliser des filtres pour afficher seulement les répertoires de tests. Pour cela, il suffit de cliquer dans la zone Projet et de choisir le scope Test.

De nombreuses options sont disponibles. Pour plus de détails, consultez http://www.jetbrains.com/idea/webhelp/project-tool-window.html

II-E-2 - La vue structure

Cette vue va afficher la liste des méthodes et attributs de la classe en cours d'édition.

Il est possible de paramétrer l'affichage dans cette vue à l'aide de filtre en cliquant sur l'icône de paramétrage. On peut par exemple choisir d'afficher ou non les membres private.

De plus afin d'identifier si plus facilement les différents éléments, IntelliJ utilise des symboles.

Voici quelques exemples :

Classe

Classe abstraite

Méthode

Pour la liste complète des symboles, vous pouvez consulter le lien suivant : http://www.jetbrains.com/resharper/webhelp/Reference__Symbol_Icons.html

Pour plus d'information, veuillez consulter la document d' IntelliJ sur la vue structure : http://www.jetbrains.com/idea/webhelp/structure-tool-window-file-structure-popup.html

III - Projet Spring

Dans cette partie, nous allons utilisé un projet existant pour mettre en évidence quelques fonctionnalités intéressantes de Spring.

III-A - Projet exemple

Dans cette partie, nous allons récupérer un projet Spring existant :

Git clone https://github.com/crashub/spring-ehcache-demo.git

Ce projet a été utilisé pour illuster l'utilisation de CraSH : un shell qui étend la plateforme Java. Pour plus d'information, reportez vous sur l'article suivant : ici

Ensuite, dans IntelliJ, nous ouvrons un projet existant en faisant : File → Open project.

Le projet s'ouvre et IntelliJ télécharge les dépendances Maven. Il affiche également le message suivant dans la barre de status :« Frameworks detected : Spring framework is detected in the project Configure »

En cliquant sur Configure, la fenêtre suivante s'affiche :

III-B - Navigation dans un projet Spring

Si on ouvre le fichier MainController dans le package fr.dr.sandbox.controller, on constate deux icônes :

Ces icônes permettent de naviguer plus facilement. Ainsi, en cliquant sur l'icône devant « public class MainController », on ira directement dans le fichier de configuration correspondant.

III-C - Création de bean rapide

La création de bean est très rapide. Une fois dans le fichier xml de spring, il vous suffit de faire ALT + INSER et de choisir Spring beans. La structure xml de bean est alors crée :

EmptyBean

<bean id="" class="">

</bean>

Le curseur est positionné automatiquement entre les guillemets dans l'attribut class. Ceci vous permet de saisir le chemin de la classe. La complétion vous permet de trouver rapidement votre bean.

Si votre bean, n'existe pas encore, il vous suffira une fois l'édition de class et id terminés, de faire ALT + INSER pour créer automatiquement la classe correspondante.

III-D - Changer la version de Spring

Pour changer la version de Spring, il suffit de cliquer sur l'icône Project Structure :

Project Structure

Puis de sélectionner la dépendance Maven Spring ayant une icône de feuille :

Il suffit ensuite de cliquer sur change version :

Dans cette section, nous avons abordé seulement quelques fonctionnalités d'un projet Spring.

Si vous souhaitez avoir une vue d'ensemble des fonctionnalités d' IntelliJ avec Spring, vous pouvez consulter les videos sur le site http://www.jetbrains.com/idea/features/spring_framework-tutorials.jsp

IV - Première impression

Cette section présente les points forts sur une première utilisation d' Intellij.

IV-A - Réactivité

L'ouverture de popup, la navigation entre les différents éléments est très fluide. Il n'y a pas de temps de latence.

IV-B - Comfort d'utilisation

Une des premières choses que l'on remarque lorsque l'on utilise IntelliJ, c'est le comfort d'utilisation. Une fois que l'on a pris un peu en main l'IDE, on navigue très rapidement entre les différents élément.

Voici quelques raccourcis indispensables à connaître pour naviguer entre les différents éléments :

- CTRL - NUM : pour ouvrir différents éléments (project, structure ...)

- ALT-RIGHT - ALT-LEFT : permet de naviguer entre les différents fichiers

IV-C - Beaucoup de plugins par défaut

Lors de l'installation, le setup vous demande quels sont les plugins que vous souhaitez utiliser. Vous pouvez choisir ceux que vous utiliserez plus. Ainsi, vous n'avez pas besoin d'effectuer des configurations supplémentaires et vous pourrez directement commencer votre projet. De manière générale, on peut dire qu'avec IntelliJ, on ne passe du temps à installer des plugins.

IV-D - Productivity guide

Une des grandes forces d'IntelliJ, c'est les raccourcis. Le problème des raccourcis, c'est qu'il faut les apprendre !

IntelliJ propose un moyen simple en natif pour apprendre les raccourcis : le productivity guide . Ce guide affiche des statistiques sur l'utilisation des fonctionnalités et des raccourcis d'IntelliJ :

V - Conclusion

J'espère que cette article vous aura fait découvrir intelliJ et vous aura donné envie de découvrir un peu plus IntelliJ. Pour ma part, j'ai pris beaucoup de plaisir à découvrir Intellij et je l'adopte peu à peu dans mes développements.

Premier pas avec IntelliJ

Auteur

Rieu Damien