Quelles sont les difficultés pour passer de Eclipse à IntelliJ ?
Partager votre expérience ici

Le , par eulbobo

0PARTAGES

6  2 
Bonjour à tous,

Petite présentation du contexte : je bosse depuis plus de 10 ans avec Eclipse dans différentes versions sans trop me poser de questions sur ce qui se fait à côté. J'ai essuyé pas mal de plâtres, d'erreurs, de trucs étranges, mais aujourd'hui, je maîtrise l'outil.

Je fais majoritairement du Java orienté Web avec des framework du genre Struts (1 ou 2), Spring, Hibernate, sur des serveurs d'application comme tomcat (ok, que sur tomcat), avec une intégration Maven.

J'ai aussi pris l'habitude de ne pas utiliser les outils de SCM intégrés à Eclipse pour préférer des outils dédiés à cette fonction (comme TortoiseSvn quand j'utilisais SVN) suite à quelques déconvenues quand on était plusieurs à travailler sur un même projet (et paf le conflit).

Je vais commencer sous peu une nouvelle mission dans laquelle on m'a annoncé que la politique de la boîte était d'utiliser IntelliJ. Le développement va être majoritairement du microservice, donc du pur java (pas d'UI du tout ! )

Et j'ai essayé... J'ai téléchargé la version Ultimate (parce qu'il y a un essai), j'ai essayé de l'utiliser, de récupérer mes projets, de les faire tourner (avec la blague du "comment on fait pour démarrer le serveur ?", mais je pense que quelqu'un venant d'IntelliJ sur Eclipse aurait le même problème), et franchement j'ai du mal...
J'ai du mal à plusieurs niveaux :
  • je trouve l'UI moche (mais bon, les goûts et les couleurs...)
  • je trouve qu'on a moins d'informations quand on code : pas de tooltip indiquant la javadoc d'une méthode quand on passe dessus (il y aurait une option ?), pas de rappel des noms et types quand on remplit les paramètres d'une fonction, pas de façon simple et rapide d'atteindre une méthode dans une classe précise (ctrl+O dans Eclipse)
  • pas d'affichage des warnings à la compilation : on sait qu'il y en a 3... OK, merci... Ils sont où?
  • pas d'affichage des warnings au fil de l'eau : il faut compiler pour qu'ils s'affichent
  • pas de raccourci pour faire de l'import automatique (ctrl+shift+o dans Eclipse : ça les classe, ça vire ceux qui ne servent à rien, et ça importe ceux qui manquent en te demandant quand il y a un doute)
  • j'ai l'impression que ça veut gérer toutes les technos existantes (alors que... je n'en ai pas besoin)
  • j'ai l'impression que ça ne les gère pas si bien que ça (prise en charge struts, un champ hidden nommé method qui correspond à mon paramètre de dispatch action : ça me met une erreur parce que le champ n'existe pas dans mon Form... ET POURTANT ÇA MARCHE !)
  • l'affichage des erreurs se fait en changeant la couleur plutôt qu'en soulignant le problème : il y a déjà plein de codes couleur partout, le fait que ça soit rouge je ne trouve pas ça spécialement parlant. Surtout que ces erreurs dans la vue projet apparaissent bien soulignés en rouge ! (donc une hérésie de design avec deux formes graphiques différentes pour signifier la même chose)
  • Si vous avez plusieurs projets maven DIFFÉRENTS et que vous avez besoin de travailler sur les deux en même temps... Ben il faut systématiquement lancer un maven install sur le projet initial pour en bénéficier sur l'autre. C'est con, mais c'est lourd quand on développe souvent plusieurs choses en même temps, surtout si la dépendance est longue à créer parce qu'elle doit générer plein de codes source et faire plein de tests... Quand les projets sont ouverts en même temps dans Eclipse, les dépendances sont gérées en direct sans avoir besoin de faire install à chaque modification
  • Pas de goals prédéfinis dans Maven : obligé à CHAQUE PROJET d'aller ajouter les commandes mvn compile, mvn install, mvn package, mvn clean...
  • J'ai sous le nez un projet qui compile parfaitement avec Maven mais pour lequel IntelliJ me dit "Je trouve pas ton interface" (qui est pourtant correctement intégrée au ClassPath via un Jar contenant l'interface, et qui apparaît pourtant correctement dans les External Librairies)


(oui, j'ai remis à jour le projet 12 fois, et fait clean aussi)

Bref, pour faire court, je le sens pas...

Du coup, je suis allé voir ce qu'Internet en disait en recherchant "Intellij VS Eclipse", et je tombe SYSTÉMATIQUEMENT sur des posts qui disent "IntelliJ c'est meilleur à tous les niveaux"... OK... sauf que
  • la plupart des posts datent d'avant 2015 (donc avant la version actuelle de Eclipse : mars)
  • il n'y a pas beaucoup d'arguments à part "c'est mieux"...
  • la plupart des points "négatifs" notés dans Eclipse sont faux (genre la mauvaise autocomplétion, la mauvaise intégration Maven...)
  • la plupart des points "positifs" notés dans IntelliJ existent aussi de base dans Eclipse (surtout si on utilise Maven... On ajoute un projet maven et hop, rien d'autre à faire... Dans IntelliJ, quand vous voulez importer un projet Maven, il faut lui dire que c'est un projet Maven... Le fichier pom.xml n'a pas l'air de l'inspirer)


Du coup je me tourne vers vous aujourd'hui, vous qui avez manipulé deux versions récentes des deux environnements de développement.
  • Lequel préférez-vous ?
  • Pourquoi ?
  • Comment l'utilisez-vous et pour quoi faire ?
  • Qu'est-ce qui vous manque dans votre IDE préféré qui existe dans l'autre ?


Merci !

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de spidetra
Membre confirmé https://www.developpez.com
Le 29/10/2015 à 9:17
@eulbobo: Dans la doc d'IntelliJ tu as un guide de migration pour les utilisateurs venant d'Eclipse. Je ne l'avais pas lu et il est plutôt bien fait. Tu y trouveras des réponses à tes questions.

Citation Envoyé par alain.bernard Voir le message

Voilà une discussion très très intéressante ! Et le foisonnement d'avis constructif fait plaisir à voir.
D'accord avec toi sur ce point, je vais essayer de rester constructif.

Qu'est-ce que j'attend de mon outil de travail ?

#Feature 1:
En tant que développeur, j'ai besoin d'un IDE qui se fasse oublier. Je veux pouvoir coder et me concentrer sans être interrompu par l'IDE.
C'est une feature que l'on va facilement trouver dans des éditeurs de texte: SublimeText, Vim, Emacs, etc...
C'est une feature que je retrouve dans IntelliJ.

C'est une feature que je ne retrouve pas dans Eclipse.
Je m'étais habitué à ces interruptions intempestives.
Aujourd'hui, j'ai de plus en plus de mal à les supporter.

#Feature 2:
En tant que développeur, les problèmes de synchronisation de l'IDE avec son environnement ne m'intéresse pas: workspace is out-of-sync, maven is out of date.
OK. Eclipse, tu sais que tu es désynchronisé, alors fait ce que tu dois faire: fait un refresh des fichiers qui doivent être mis à jour, met à jour les projets Maven qui doivent être mis-à-jour.
Fait ce que tu veux, mais fait le en silence, en tâche de fond et sans me perturber. Cela ne m'intéresse pas.
Préviens-moi juste si tu dois rafraîchir un fichier qui est ouvert.

#Feature 3:
En tant que développeur, la notion de workspace ne m'intéresse pas.
J'aimerais pouvoir définir mes settings:
- au niveau de mon IDE pour tout mes projets
- surcharger des settings au niveau de chaque projet si j'en ai besoin.

Je n'ai pas envie de devoir configurer l'encodage UTF-8 chaque fois que je change de workspace.

#Feature 4:
En tant que développeur j'aimerais pouvoir récupérer mes settings chaque fois que je migre ma version d'Eclipse.

Pour les Features #3 et #4, Eclipse a fait de gros progrès:
- Oomph
- plugin saneclipse de vogella

#Feature 5:
En tant que développeur, je n'ai pas besoin de la notion de perspective.
Au maximum une dizaine de vues autour de mon éditeur central devraient me permettre de faire tout ce dont j'ai besoin.
Un simple raccourcis clavier doit me permettre d'afficher ou de cacher une vue.
Cette feature est directement issue du mode de fonctionnement d'IntelliJ.

Si j'avais une distribution d'Eclipse qui m'apporte ces 5 features, je pense que je pourrais revenir à Eclipse.

En fait, si j'avais uniquement la feature #1, je pourrais revenir à Eclipse.
2  0 
Avatar de Mickael_Istria
Membre émérite https://www.developpez.com
Le 26/10/2015 à 19:18
Salut,
Merci de partager cet avis personnel qui se veut objectif, ça fait plaisir! Car comme tu l'as remarqué, il y a eu beaucoup de dogmatisme de la part des utilisateurs d'IntelliJ ces derniers temps et c'en était devenu difficile de dire du bien d'Eclipse sans que les fanboyz et fangirlz d'IntelliJ viennent dire "bouh, c'est nul" Ca confirme aussi ce que j'ai entendu ailleurs, Eclipse Mars a relevé la barre si bien que maintenant IntelliJ n'est pas vraiment beaucoup mieux qu'Eclipse pour le devs Java. Les 2 se valent bien, et ce n'est plus qu'une affaire de préférences et d'habitudes.
Imposer un IDE, surtout un qui est payant, est une mauvaise idée. Si tu as l'occasion de faire redécouvrir Eclipse IDE là où tu fais ta mission et qu'ils en sont satisfaits, tu leur feras économiser quelques milliers d'euros!
Ceci dit, pour Mars, Eclipse reste faible sur le JavaScript, et là, WebStorm se démarque. On peut espérer qu'Eclipse va aussi rebondir à ce sujet bientôt, en tout cas il y a vraiment des efforts en cours pour le JS. Si bien que dans le cadre de microservices, il est probable que tu te heurtes à ce problème et que WebStorm soit mieux pour toi. En espérant que ça ne dure que jusqu'à la release de Neon en juin 2016
1  0 
Avatar de spidetra
Membre confirmé https://www.developpez.com
Le 27/10/2015 à 14:34
Citation Envoyé par Mickael Baron Voir le message
@spidetra

Au final si j'ai bien compris IntelliJ ce n'est pas fait pour les développeurs occasionnels ? Parce que connaître les raccourcis clavier c'est vraiment dur à faire passer que les personnes ne font pas du code toute la journée.

Mickael
Tu peux toujours te passer des raccourcis clavier et travailler avec la souris, comme dans Eclipse.
Je trouve qu'on est plus productif sans souris, c'est une préférence personnelle.

Là on ne parle pas de développeurs occasionnels. On doit tous passer plus de huit par jours avec notre IDE. A ce niveau on doit connaître les settings et les raccourcis de notre outil de travail.
Les utilisateurs d'Eclipse qui ne désirent pas apprendre les raccourcis d'IntelliJ peuvent tjrs choisir de mapper les raccourcis sur ceux d'Eclipse.
1  0 
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 27/10/2015 à 16:47
D'un autre côté pour du développement occasionnel (je suis dans cette catégorie) payer pour un IDE comme IntelliJ, ça ne serait pas concevable pour moi car Eclipse convient parfaitement à mon besoin.

Mickael
1  0 
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 28/10/2015 à 11:29
J'ai l'impression qu'IntelliJ et Eclipse se valent en features sauf que pour le premier il y a de meilleurs commerciaux pour le vendre et présenter les features.

J'ai une idée pour faire remonter la cote d'Eclipse. La fondation n'a qu'à tenir un stand dans chaque conférence avec de jolies filles ou alors dans l'extrême faire comme pour les produits Windev => ok je sors

Mickael
1  0 
Avatar de Cafeinoman
Membre éprouvé https://www.developpez.com
Le 28/10/2015 à 12:59
Je suis loin d'être un fanboy, donc pas de soucis hein.

Pour ce qui est du multi-écran, je trouve surtout ça plus pratique sous Idea, mais c'est vrai que eclipse le fait aussi. Et non, les toolbar ne sont pas partout, mais honnêtement je ne les utilise pas.

Pour ce qui est de l'uml, je pense qu'en fait c'est justement le soucis d'eclipse : il y a tellement de plugin, pour certains en doublon, qu'il est parfois dur de trouver le bon! Et je trouve que le marketplace n'est pas des plus pratiques...
1  0 
Avatar de NBC_93_mate
Membre à l'essai https://www.developpez.com
Le 29/10/2015 à 17:03
Bon je vais poster plus un témoignage qui s'apparente à du fanboyism (sans argument donc) qu'à un argumentaire détaillé (j'ai pas le temps aujourd'hui, donc je vais faire court et je détaillerais plus tard si je peux), mais sache que la plupart de tes critiques prouve que tu n'as pas cherché beaucoup...

Mon histoire:

J'ai utilisé Eclipse puis Spring Tool Suite (donc toujours du Eclipse mais à la sauce Spring) pendant 5-6 ans. Même si l'entrée en matière a été dure (je trouve l'interface fouillie, chargée et peu ergonomique; la notion de "perspective" par exemple embrouille plus qu'elle n'est utile), j'ai fini par être à l'aise et satisfait de mon IDE après avoir passé un peu de temps à en explorer les possibilités et à en maîtriser ses subtilités.

Pendant longtemps j'ai entendu les gens dire "Ouais Intellij c'est vachement mieux, Eclipse c'est pourri" lors de conférences/formations/sur les forums etc sans trop comprendre pourquoi, me satisfaisant largement d'Eclipse/STS.

Il y a 6 mois ma boîte est passée de svn à git. Autant auparavant j'arrivais à me contenter des outils svn intégré à Eclipse, autant là pour git j'étais perdu. J'ai fini par installé intellij en autre pour ça, puis j'ai fini acheté une licence parce que:

1) Le coût est modeste par rapport à l'utilisation: 240€ pour un outil qui grosso modo va me servir 8h/jour et 5j/semaines
2) J'ai déjà gaspillé plus d'argent stupidement (je suis fumeur)
3) Ça me ferait une bonne motivation pour m'investir dans la découverte de cet IDE

Pendant 3-4 mois j'ai travaillé alternativement sur l'un ou autre des IDE. Effectivement quand on a ses habitudes, il très difficile d'en changer. Néanmoins depuis 2-3 mois j'ai basculé complètement sous Intellij et aujourd’hui je ne retournerais jamais plus sous Eclipse. J-A-M-A-I-S. La seule chose que je n'ai pas pu retrouvé sous intellij c'est Mylyn. Pour tout le reste, Intellij est mieux qu'Eclipse une fois apprivoisé.

En bonus, voici une liste de settings qui m'ont aidé a retrouver le même comportement que dans Eclipse:

- Appearance & Behavior > Keymap > Keymaps : Eclipse
- Editor > General > Show quick documentation on mouse move
- Editor > General > Code Completion > Case sensitive completion : None
- Editor > General > Code Completion > Autopopup documentation
- Editor > General > Editor Tabs > Tab Appearance > Mark modified tabs with asterisk
- Editor > General > Auto Import : Java > Add unambiguous imports on the fly

Rien que ça ça élimine un bon nombre de tes critiques.

En bonus numéro 2, le raccourci magique: "Enter action or option name" : Ctrl + Maj + A

C'est loin d'être exhaustif, mais comme je l'ai dis j'essayerais de détailler plus un peu plus tard...
1  0 
Avatar de Mickael_Istria
Membre émérite https://www.developpez.com
Le 29/10/2015 à 18:00
Citation Envoyé par tchize_ Voir le message
T'as bien fait d'enfoncer le couteau dans la plaie: J'ai mis un commentaire pour relancer la discussion, et bim, 2 patches sont disponibles. J'espere qu'ils iront dans Mars.2 (et Neon.M4).
1  0 
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 26/10/2015 à 20:42
Salut,

Je ne prendrai pas de parti puisque je n'ai jamais fait l'effort d'utiliser IntelliJ pour voir comment c'était.

En tout cas, il serait intéressant que tu reviennes nous faire part de ton expérience dans quelques mois. Et pourquoi pas écrire un article sur le sujet.

Mickael
0  0 
Avatar de eulbobo
Membre chevronné https://www.developpez.com
Le 27/10/2015 à 10:09
Citation Envoyé par Mickael Baron Voir le message
En tout cas, il serait intéressant que tu reviennes nous faire part de ton expérience dans quelques mois. Et pourquoi pas écrire un article sur le sujet.
Je ferai ça si j'ai réussi à m'y mettre et si je n'ai pas convaincu l'équipe de retourner à Eclipse
0  0 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -

Partenaire : Hébergement Web