web-dev-qa-db-fra.com

Comment IntelliJ est-il meilleur qu'Eclipse?

Je sais qu'il y a eu des questions comme Quel est votre éditeur/IDE préféré? , mais aucun n'a répondu à cette question: Pourquoi dépenser l'argent pour IntelliJ quand Eclipse est gratuit?

Je suis personnellement un grand fan d'IntelliJ, mais je n'ai pas vraiment essayé Eclipse. J'ai utilisé IntelliJ pour des projets qui étaient Java, JSP, HTML/CSS, Javascript, PHP et Actionscript, et la dernière version, 9, a été excellente pour tous.

De nombreux collègues dans le passé m'ont dit qu'ils pensaient qu'Eclipse était "à peu près la même" qu'IntelliJ, mais, pour contrer ce point, je me suis parfois assis derrière un développeur utilisant Eclipse qui semblait relativement inefficace (pour accomplir à peu près la même chose) tâche), et je ne l'ai pas vécu avec IntelliJ. Ils peuvent être au pair fonctionnalité par fonctionnalité mais les fonctionnalités peuvent être ruinées par une mauvaise expérience utilisateur, et je me demande s'il est possible qu'IntelliJ soit plus facile à ramasser et découvrir des fonctionnalités de gain de temps.

Pour les utilisateurs qui connaissent déjà Eclipse, en plus du coût réel d'IntelliJ, il y a aussi le coût du temps passé à apprendre la nouvelle application. Eclipse attire de nombreux utilisateurs qui ne veulent tout simplement pas dépenser 250 $ pour un IDE.

Si IntelliJ pouvait vraiment aider mon équipe à être plus productive, comment pourrais-je la leur vendre? Pour les utilisateurs qui ont essayé les deux, je serais très intéressé par des avantages ou des inconvénients spécifiques dans les deux cas.

67
Nicole

Je travaille avec Intellij (9.0.4 Ultimate) et Eclipse (Helios) tous les jours et Intellij bat Eclipse à chaque fois.

Comment? Parce que Intellij indexe le monde et tout fonctionne intuitivement. Je peux naviguer beaucoup plus rapidement dans ma base de code dans Intellij. F3 (définition de type) fonctionne sur tout - Java, JavaScript, XML, XSD, Android, Spring. La refactorisation fonctionne partout et est totalement fiable (j'ai eu des problèmes avec Eclipse pour gâcher ma source de manière étrange). CTRL + G (le cas échéant) fonctionne partout . CTRL + T (implémentations) garde une trace des instances les plus courantes que j'utilise et les affiche en premier.

La complétion de code et les suggestions de changement de nom sont si intelligentes que ce n'est que lorsque vous revenez à Eclipse que vous vous rendez compte de ce qu'il faisait pour vous. Par exemple, envisagez de lire une ressource dans le chemin de classe en tapant getResourceAsStream("/ à ce stade, Intellij vous montrera une liste des fichiers possibles qui sont actuellement disponibles sur le chemin de classe et vous pouvez rapidement accéder à celui que vous voulez. Eclipse - non.

Le plugin Spring (prêt à l'emploi) pour Intellij est largement supérieur à SpringIDE principalement en raison de leurs inspections de code. Si j'ai raté des cours ou épelé quelque chose de mal, je reçois un bloc rouge dans le coin et de l'encre rouge là où se trouve le problème. Eclipse - un peu, en quelque sorte.

Dans l'ensemble, Intellij accumule beaucoup de connaissances sur votre application, puis utilise ces connaissances pour vous aider à écrire un meilleur code, plus rapidement.

Ne vous méprenez pas, j'aime Eclipse en morceaux. Pour le prix, il n'y a pas de substitut et je le recommande à mes clients en l'absence d'Intellij. Mais une fois que j'ai testé Intellij, il s'est amorti en une semaine, alors je l'ai acheté, et chacune des principales mises à niveau depuis. Je n'ai jamais regardé en arrière.

63
Gary Rowe

J'entends la différence avec IntelliJ, c'est qu'ils sont beaucoup plus susceptibles de corriger et de fermer les bugs que vous soumettez. Cela pourrait faire une grande différence s'il y a un bug Eclipse qui vous bloque.

D'un autre côté, vous ne pouvez pas regarder les IDE isolément; vous devez regarder l'écosystème. Ici, je pense qu'Eclipse a un avantage (similaire à l'avantage de Firefox sur Chrome *): il y a beaucoup plus de plug-ins disponibles, et les développeurs sont beaucoup plus susceptibles d'écrire un plug-in Eclipse qu'autrement.

[Tangent: * Pour Firefox, je pense à Zotero et HTTPS-Everywhere. J'utilise les deux Chrome et Firefox, mais certaines choses Chrome ne peuvent tout simplement pas gérer. De plus, lorsque je fais des documents, j'ai vraiment besoin d'un aperçu avant impression.]

16
Macneil

Avertissement
Ceci est limité à Android développement uniquement (In Java évidemment).

J'y arrive avec une connaissance limitée d'Eclipse et d'IntelliJ; cependant, j'ai récemment dû choisir un environnement de développement pour Android. Il semblerait que le premier choix clair serait d'utiliser Eclipse puisque Google le prend en charge avec leur plugin ADT. Malheureusement, je l'ai trouvé terriblement maladroit de me déplacer depuis que je suis habitué à Visual Studio (2010, plus récemment 2012). J'ai toujours utilisé ReSharper avec Visual Studio, j'ai donc décidé d'essayer IntelliJ. Après environ 10 minutes, j'ai réalisé que j'avais pris la bonne décision.

IntelliJ, comme certains l'ont dit, indexe tout. L'intellisense était une joie de travailler avec et l'intelligence entourant les suggestions était excellente. L'expérience de débogage a été un plaisir et honnêtement, je ne pouvais vraiment pas vivre sans l'analyse du code. Je sais que beaucoup de puristes auraient un problème avec ce genre de chose, mais je m'en fiche. Je dois pousser des projets très rapidement pour beaucoup de gens, donc parfois c'est juste agréable d'exécuter le code anaylsis et de voir ce que le IDE suggère. Que vous preniez ou non ces suggestions est une autre histoire mais je n'a rien trouvé de tel dans Eclipse.

Certains disent également qu'il n'y a pas de concepteur Android dans la version actuelle d'IntelliJ. C'est certainement le cas mais je ne l'utiliserais jamais de toute façon. Je débogue sur un appareil la plupart du temps donc ça n'a pas d'importance. Je peux voir l'interface et jouer avec elle chaque fois que je lance le programme. Quoi qu'il en soit, d'un gars traditionnellement "non Java" je dois dire que Java is particulièrement agréable par rapport à Eclipse.

13
Nodey The Node Guy

Vous devez démontrer clairement et sans aucun doute que pour les tâches que vous devez effectuer quotidiennement, IntelliJ permet un gain de temps et d'efforts substantiel par rapport à Eclipse (et NetBeans).

Cela vous obligera à faire des recherches pour découvrir ce que cela pourrait être, puis à construire une démonstration montrant cela aux personnes qui peuvent décider comment travailler.

Je soupçonne que vous trouverez cela une tâche assez difficile à faire, car Eclipse de nos jours peut faire assez bien, assez bien. Si vous trouvez des points tueurs, veuillez partager - je suis sûr que beaucoup veulent savoir.

6
user1249

Intellij est meilleur pour de nombreuses raisons, notamment le thème darcula ... mais il y en a quelques autres:

  • saisie semi-automatique pour les noms de méthode - elle offre ce que je veux appeler la convention usign.
  • jquery autocomplete très facile à configurer (je ne l'ai jamais fait fonctionner avec Eclipse).
  • EL saisie semi-automatique dans jsp
  • l'intégration et l'inspection du printemps montrent des erreurs de configuration (par exemple, noms de bean en double)
  • saisie semi-automatique pour les mappages contrôleur/URL
  • facile à utiliser et à configurer l'intégration de la base de données (il détecte automatiquement la source de données) et la saisie semi-automatique évidemment
  • inspections de code, comme checkstyle et findbugs, intégrées et faciles à utiliser.
  • jslint et jshint intégrés et faciles à utiliser.
  • l'intégration maven fonctionne immédiatement.
  • Tous les paramètres sont là où vous vous attendez à ce qu'ils soient.
  • Il ne détecte pas les erreurs de manière incorrecte, j'avais l'habitude d'obtenir des erreurs surlignées dans eclisp où il n'y en avait pas et j'ai dû redémarrer.
  • Saisie semi-automatique et détection d'erreurs dans les fichiers xml (un gros problème avec le printemps)
  • les mappages hibernate ont la saisie semi-automatique activée (les champs d'un pojos sont fournis comme option de saisie semi-automatique dans le pojo mappé - gr8).
  • ctrl + alt + clic ouvre l'implication, pas la déclaration
  • Hotdeploy: vous pouvez facilement le configurer de sorte que lorsque intellij perd le focus, votre application déployée soit mise à jour automatiquement - je tape sur mon navigateur et le nouveau code (que ce soit les classes, javascript ou jsps) est déjà déployé.
  • un client de repos intégré sans configuration supplémentaire requise.
  • client de chat intégré qui permet des pointeurs de code - en fait très utile.
  • vue de persistance, accès facile à toutes vos entités et paramètres jpa/hibernate.
  • correction de bugs, correction de bugs réels et responsables J'ai soumis un certain nombre de bugs et ils ont été corrigés rapidement.
  • inspection et saisie semi-automatique dans vos documents xml, très très utile avec spring (je sais que c'est une répétition mais c'est super, a révélé une myriade d'erreurs).

Je l'utilise depuis environ 3 semaines maintenant alors j'espère en trouver plus bientôt; ça vaut bien l'argent.

Oh encore une chose il ouvre réellement ... J'ai eu un bug dans mon Eclipse qui signifiait qu'il refuserait d'ouvrir. Juste "google Eclipse ne s'ouvrira pas" il y a des tas de liens. Je me sens stupide d'avoir mis autant de temps à changer.

5
NimChimpsky

Google vient d'annoncer récemment le transfert de Android vers IntelliJ.

Il y a une raison pour cela. J'utilise Eclipse comme environnement pour donner des cours depuis quelques années en C++ et Android/Java. J'ai vu la qualité d'Eclipse se détériorer et devenir quelque chose d'inutilisable. À l'automne 2012, j'ai adopté Eclipse Juno pour mon cours et ce fut un désastre absolu. Non seulement le programme était incroyablement lent et chargé de bugs, mais il avait plusieurs changements d'interface utilisateur qui étaient plus que stupides. Je l'utilise maintenant comme étude de cas dans une mauvaise conception d'interface utilisateur.

Je ne peux recommander Eclipse à personne à ce stade. La base de données des bogues est devenue si volumineuse qu'il n'y a aucune chance qu'ils en traitent jamais même une petite fraction.

3
Charles

Je ne connais pas de coups solides fonctionnalité par fonctionnalité, mais une chose que j'ai découverte avec l'utilisation entrante et sortante de l'environnement IntelliJ depuis environ une décennie est que les équipes de conception de JetBrains ont fait un excellent travail de les deux ayant les IDE "indexer le monde" ainsi que garder les fonctions d'indexation et de saisie semi-automatique à la fois réactives et cohérentes - je n'y pense généralement pas, mais avec la réactivité plus le nombre de raccourcis clavier (et la possibilité de mapper plus), IntelliJ facilite la création d'une "mémoire musculaire" lors de l'utilisation de l'éditeur.

Ce n'est pas une mince affaire quand vous pouvez écrire du code, compléter automatiquement, compiler et tester sans que vos doigts quittent le clavier, et d'une manière qui ne ressemble pas à une lenteur stéréotypée Java app.

1
Chad Thompson