Revue de l'IDE Jetbrains Intellij Idea 9 Ultimate Edition
Date de publication : 10.12.2009
Par
Baptiste Wicht (Mon site) (Blog)
![]() | Je présente ici les fonctionnalités de la version Ultimate Edition qui ne sont pas toutes disponibles dans la version open-source, Community Edition. |
![]() |
Version anglophone de cet article - English version of this article:
Review of Jetbrains Intellij Idea 9 Ultimate Edition.
|
1. Introduction
1.1. Editions
2. Installation
3. Améliorations générales
4. Interface graphique
5. Support de Maven
6. Support d'OSGI
7. Support de PHP
8. Gestion de contexte
9. Divers
10. Conclusion
10.1. Liens
10.2. Remerciements
1. Introduction
- Community Edition : Version open-source et gratuite comprenant seulement une partie des fonctionnalités de l'IDE
- Ultimate Edition : Version complète de l'IDE, commerciale cette fois. C'est cette version que je vais présenter ici.

1.1. Editions
| Fonctionnalité | Ultimate Edition | Community Edition |
|---|---|---|
| Historique local |
|
|
| Support Ant/Maven |
|
|
| Support JUnit/TestNG |
|
|
| Editeur Wysiwyg |
|
|
| Vérification syntaxique |
|
|
| Support des projets Eclipse |
|
|
| Support Java ME |
|
|
| IDE Talk |
|
|
| Gestion de contexte |
|
|
| Diagrammes UML |
|
|
| Couverture de code |
|
|
| Matrice de dépendances |
|
|
| Support Android |
|
|
| Recherche de code dupliqué |
|
|
| Recherche/Remplacement structurel(le) |
|
|
| Débugging JSP/Javascript |
|
|
Voici les langages supportés par les différentes versions :
| Langage | Ultimate Edition | Community Edition |
|---|---|---|
| Java |
|
|
| Groovy |
|
|
| XML |
|
|
| Regex |
|
|
| Scala |
|
|
| Clojure |
|
|
| Ruby/JRuby |
|
|
| Python |
|
|
| SQL |
|
|
| HTML, XHTML, CSS |
|
|
| XSL, XPath |
|
|
| Python |
|
|
| Freemarker/Velocity |
|
|
| JavaScript/ActionScript |
|
|
| PHP |
|
|
Support des SCM :
| SCM | Ultimate Edition | Community Edition |
|---|---|---|
| CVS |
|
|
| Subversion |
|
|
| Git |
|
|
| Team Foundation Server |
|
|
| ClearCase |
|
|
| Perforce |
|
|
| StarTeam |
|
|
| Visual SourceSafe |
|
|
Ensuite, les frameworks et technologies :
| Framework/Technologie | Ultimate Edition | Community Edition |
|---|---|---|
| OSGi |
|
|
| Rails/Grails |
|
|
| JSP/Servlets |
|
|
| JavaServer Faces 1.0, 1.2 |
|
|
| EJB 3.0, 3.1 |
|
|
| Web Beans |
|
|
| Bean validation |
|
|
| Flex, Air |
|
|
| GWT 1.X, 2.0 |
|
|
| Struts 1.2, 2 |
|
|
| Spring 2.5, 3.0 |
|
|
| JBoss Seam |
|
|
| Hibernate/JPA 1.0, 2.0 |
|
|
| JAX-WS, Apache AXIS |
|
|
| REST WebServices |
|
|
| Tapestry |
|
|
| Google App Engine |
|
|
Et enfin, voici ce qu'il en est pour les serveurs d'application :
| Serveurs d'application | Ultimate Edition | Community Edition |
|---|---|---|
| Tomcat |
|
|
| GlassFish v2, v3 |
|
|
| JBoss |
|
|
| WebLogic |
|
|
| WebSphere |
|
|
| Geronimo |
|
|
| Resin |
|
|
2. Installation
3. Améliorations générales

On constate également beaucoup moins de freeze de l'interface graphique qui est également plus réactive. Le retour sur action (feedback à l'utilisateur) des différentes vues a été amélioré. C'est-à-dire qu'on se rend compte maintenant qu'une action a été lancée et on n'est plus à se demander si quelque chose se passe ou non comme cela pouvait arriver avec Idea 8.
4. Interface graphique
- Alt+Shift+F9 : Ouvre la fenêtre de débugging
- Alt+Shift+F10 : Ouvre la fenêtre de lancement
|
|
Ensuite de cela, on a également une gestion de marque-pages dans n'importe quelle partie du code, que ce soit une classe ou une ligne d'une classe. On a pour cela les raccourcis suivants :
- F11 : Crée un marque-page sur l'élément sélectionné (fichier dans l'arborescence ou ligne dans l'éditeur)
- Shift + F11 : Présente les différents marques-pages et permet de se déplacer vers un de ces derniers.

Et la vue des marques-pages :

Et dernièrement et non des moindres, on peut maintenant copier des fichiers depuis le système d'exploitation et les coller directement dans l'IDE et vice-versa. Ce qui est très pratique et n'était pas présent dans les précédentes versions de l'IDE.
5. Support de Maven

On a également accès à un graphe des dépendances d'un module Maven :

Il est possible de faire un reimport automatique après un changement dans un fichier pour ne pas avoir besoin de lancer manuellement pour prendre en compte les changements.
6. Support d'OSGI

Ensuite de quoi, il faut configurer l'instance à utiliser pour le projet :

On peut ensuite passer à la création d'un petit projet OSGi.

A noter que dès que vous ajoutez l'en-tête Import-Package, on peut utiliser les classes de ce package depuis le projet sans faire autre chose.
Mais on peut également définir un manifest via Idea :

Et on enchâine avec un activator :
|

Et on lance la chose, ce qui nous donne l'affichage suivant :

Par contre, on ne peut pas intéragir avec l'instance OSGi depuis Idea, ce qui est un peu dommage. On ne peut donc pas stopper des modules ou même les gérer depuis la console d'Idea, ce qui aurait été très pratique. Néanmoins le développement OSGi en lui-même est facilité par Idea.
7. Support de PHP

On a également droit à de la complétion automatique des fonctions PHP :

Mais il fait plus que de la simple complétion, en effet, il découvre automatiquement les champs et méthodes qui font partie d'une classe qu'on a déclarée ainsi que les méthodes/champs d'une classe de la librairie standard. Vous pouvez voir ces fonctionnalités dans les images suivantes :


En plus de cela, Idea supporte également la documentation PHPDoc et fait de l'autocomplétion en fonction de cette documentation :

8. Gestion de contexte

Ensuite de quoi, il est possible de revenir à une tâche précédente, ce qui aura pour effet de restaurer l'état enregistré de la tâche à ouvrir.

Il est également possible de synchroniser les différentes tâches avec YouTrack ou Jira.
9. Divers
- Il est maintenant possible de créer un module depuis un projet Grails ou Griffon déja existant de la même façon qu'il est possible d'importer un projet Eclipse. On peut également créer des modules Griffon/Grails ainsi que des applications.
- On maintenant le droit à de la vérification orthographique dans le code via une nouvelle inspection activée par défaut avec la nouvelle version.
- Les méthodes et classes publiques qui ne sont pas utilisées sont maintenant directement grisées à l'instar des variables et méthodes privées
- Amélioration du support de Grails avec le support de Griffon et Gradle
- Support d'Android
- Amélioration du support de Flex
10. Conclusion
10.1. Liens
- Critique de la version 8 par Gildas Cuisinier
- Critique de la version 7 par Gildas Cuisinier
- Ma critique de la version 6
- Critique de la version 6 par Valère Déjardin





