Question

J'ai entendu des gens qui ont changé d'avis et qui ne jurent que par l'un ou l'autre.

Étant un grand fan d'Eclipse mais n'ayant pas eu le temps d'essayer IntelliJ, je suis intéressé à entendre des utilisateurs d'IntelliJ qui sont des "ex-Eclipsiens" certaines choses spécifiques que vous pouvez faire avec IntelliJ et que vous ne pouvez pas faire avec Eclipse.

Note:Il ne s’agit pas d’une question subjective ni d’une guerre sainte de l’IDE. Veuillez voter contre toute réponse à un flamebait.

Était-ce utile?

La solution

CTRL-clic fonctionne n'importe où

CTRL-clic qui vous amène à l'endroit où l'objet cliqué est défini fonctionne partout - non seulement dans les classes et variables Java du code Java, mais dans la configuration Spring (vous pouvez cliquer sur le nom de la classe, ou la propriété, ou le nom du bean), dans Hibernate (vous (vous pouvez cliquer sur le nom ou la classe de la propriété, ou sur la ressource incluse), vous pouvez naviguer en un seul clic depuis la classe Java jusqu'à l'endroit où elle est utilisée comme bean Spring ou Hibernate ;cliquer sur la balise JSP ou JSTL incluse fonctionne également, ctrl-clic sur la variable ou la fonction JavaScript vous amène à l'endroit où elle est définie ou affiche un menu s'il y a plus d'un endroit, y compris d'autres fichiers .js et du code JS en HTML ou JSP des dossiers.

Saisie semi-automatique pour de nombreuses langues

Hiberner

Saisie semi-automatique dans les expressions HSQL, dans la configuration Hibernate (y compris les noms de classe, de propriété et de colonne de base de données), dans la configuration Spring

<property name="propName" ref="<hit CTRL-SPACE>"

et il vous montrera la liste des beans que vous pouvez injecter dans cette propriété.

Java

Saisie semi-automatique très intelligente en code Java :

interface Person {
    String getName();
    String getAddress();
    int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>

et ça te montre SEULEMENT getName(), obtenirAdresse() et àChaîne() (seulement ils sont compatibles par type) et getName() est le premier dans la liste car son nom est plus pertinent.La dernière version 8, qui est toujours dans EAP, propose une saisie semi-automatique encore plus intelligente.

interface Country{
}
interface Address {
    String getStreetAddress();
    String getZipCode();
    Country getCountry();
}
interface Person {
    String getName();
    Address getAddress();
    int getAge();
}
//--- 
Person p;
Country c = p.<CTRL-SHIFT-SPACE>

et il le complétera automatiquement en silence pour

Country c = p.getAddress().getCountry();

Javascript

Saisie automatique intelligente en JavaScript.

function Person(name,address) {
    this.getName = function() { return name };
    this.getAddress = function() { return address };
}

Person.prototype.hello = function() {
    return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;
}

et ça montre SEULEMENT getName() et obtenirAdresse(), peu importe comment vous pouvez obtenir* les méthodes que vous avez dans d'autres objets JS de votre projet, et faites un Ctrl-clic sur ceci.getName() vous amène là où celui-ci est défini, même s'il existe d'autres getName() fonctions dans votre projet.

HTML

Ai-je mentionné la saisie semi-automatique et le clic-ctrl dans les chemins d'accès aux fichiers, comme <script src="", <img src="", etc ?

Saisie semi-automatique dans les attributs des balises HTML.Remplissage automatique dans l'attribut de style des balises HTML, à la fois les noms d'attribut et les valeurs.La saisie semi-automatique dans les attributs de classe également.
Tapez <div class="<CTRL-SPACE> et il vous montrera la liste des classes CSS définies dans votre projet.Choisissez-en un, faites un Ctrl-clic dessus et vous serez redirigé vers l'endroit où il est défini.

Mise en évidence facile de votre propre langue

La dernière version comporte une injection de langage, vous pouvez donc déclarer que votre balise JSTL personnalisée contient généralement du JavaScript et qu'elle mettra en évidence JavaScript à l'intérieur.

<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>

Recherche indexée sur tous les projets.

Vous pouvez utiliser Find Usages de n'importe quelle classe ou méthode Java et il trouvera où elle est utilisée, y compris non seulement les classes Java, mais aussi Hibernate, Spring, JSP et d'autres endroits.La refactorisation de la méthode Rename renomme la méthode non seulement dans les classes Java, mais partout, y compris les commentaires (il ne peut pas être sûr si la chaîne dans les commentaires est vraiment le nom de la méthode, donc elle le demandera).Et il ne trouvera que votre méthode même s’il existe des méthodes d’une autre classe portant le même nom.Bonne intégration du contrôle de code source (SVN prend-il en charge les listes de modifications ?IDEA les prend en charge pour chaque contrôle de code source), possibilité de créer un correctif avec vos modifications afin que vous puissiez envoyer vos modifications à un autre membre de l'équipe sans les valider.

Débogueur amélioré

Quand je regarde Carte de hachage dans la fenêtre de surveillance du débogueur, je vois une vue logique - clés et valeurs, la dernière fois que je l'ai fait dans Eclipse, il affichait des entrées avec des champs de hachage et suivants - je ne suis pas vraiment en train de déboguer Carte de hachage, je veux juste regarder son contenu.

Validation des configurations Spring et Hibernate

Il valide la configuration de Spring et Hibernate dès que vous la modifiez. Je n'ai donc pas besoin de redémarrer le serveur pour savoir que j'ai mal orthographié le nom de la classe ou ajouté un paramètre de constructeur afin que mon cfg Spring ne soit pas valide.

La dernière fois que j'ai essayé, je n'ai pas pu exécuter Eclipse sous Windows XP x64.

et il vous suggérera nom d'une personne ou personne.adresse.Ctrl-clic sur nom d'une personne et il vous guidera vers getName() méthode de Personne classe.

Taper Pattern.compile(""); mettez \\ là, appuyez sur CTRL-ESPACE et voyez des conseils utiles sur ce que vous pouvez mettre dans votre expression régulière.Vous pouvez également utiliser l'injection de langage ici - définissez votre propre méthode qui prend un paramètre de chaîne, déclarez dans la boîte de dialogue des options IntelliLang que votre paramètre est une expression régulière - et cela vous donnera également une saisie semi-automatique.Inutile de dire que cela met en évidence les expressions régulières incorrectes.

Autres caractéristiques

Il y a quelques fonctionnalités dont je ne suis pas sûr qu'elles soient présentes ou non dans Eclipse.Mais au moins chaque membre de notre équipe qui utilise Eclipse utilise également un outil de fusion pour fusionner les modifications locales avec les modifications du contrôle de code source, généralement WinMerge.Je n'en ai jamais besoin - fusionner dans IDEA me suffit.En 3 clics, je peux voir la liste des versions de fichiers dans le contrôle de code source, en 3 clics supplémentaires, je peux comparer les versions précédentes, ou la version précédente et actuelle et éventuellement fusionner.

Cela permet de spécifier que j'ai besoin de tous les .jars à l'intérieur WEB-INF\lib dossier, sans choisir chaque fichier séparément, donc lorsque quelqu'un valide un nouveau .jar dans ce dossier, il le récupère automatiquement.

Mentionné ci-dessus représente probablement 10% de ce qu'il fait.Je n'utilise pas Maven, Flex, Swing, EJB et bien d'autres choses, donc je ne peux pas dire en quoi cela les aide.Mais c’est le cas.

Autres conseils

Il n'y a qu'une seule raison pour laquelle j'utilise intellij et pas eclipse: Ergonomie

Qu'il s'agisse de débogage, de refactoring, d'auto-complétion ... Intellij est beaucoup plus facile à utiliser avec des raccourcis clavier cohérents, des options disponibles où vous les cherchez, etc. En termes de fonctionnalités, intellij aura du mal à rattraper Eclipse , comme ce dernier a beaucoup plus de plugins disponibles que intellij, et est facilement extensible.

Ce n'est probablement pas une question de ce que peut / ne peut pas être fait, mais de comment .

Par exemple, les deux ont un éditeur entouré de panneaux d'ancrage pour projet, chemin de classe, sortie, structure, etc. Mais dans Idée, lorsque je commence à taper tout cela, je peux me concentrer automatiquement sur le code; Dans Eclipse, tous ces panneaux restent ouverts, ce qui réduit considérablement la surface de mon éditeur, environ 1/5 de la surface totale. Je dois donc saisir la souris et cliquer pour réduire dans ces panneaux. Faire cela toute la journée est une expérience très frustrante d’éclipse.

L’inverse se produit avec la fenêtre de sortie de la vue. Dans Idea, l'exécution d'un programme ouvre la fenêtre / le panneau de sortie pour afficher la sortie du programme, même si celle-ci a été minimisée. Dans Eclipse, je dois à nouveau saisir ma souris, rechercher l'onglet de sortie et cliquer dessus pour afficher la sortie de mon programme, car la fenêtre / le panneau de sortie n'en est qu'un autre, comme tous les autres fenêtres, mais il est traité dans Idea. Une manière spéciale: & "Si l'utilisateur veut exécuter son programme, il est fort probable qu'il veuille voir le résultat de ce programme! &"; Cela semble naturel si je l'écris, mais eclipse échoue dans ce concept d'interface utilisateur de base.

Il existe probablement un raccourci pour cela dans eclipse (la fenêtre de sortie masquée lors de l'édition et le suivi automatique lors de l'exécution du programme), mais comme d'autres dizaines de fonctionnalités, le raccourci doit être recherché dans les forums, l'aide en ligne, etc. un peu plus & "; naturel &" ;.

Ceci peut être répété pour presque toutes les fonctionnalités des deux logiciels, la saisie semi-automatique, le retour à la ligne automatique, l'affichage rapide de la documentation, tout. Je pense que l'expérience utilisateur est bien plus agréable dans Idea que dans Eclipse. Alors la devise devient réalité & "Développer avec plaisir &";

Eclipse gère plus rapidement des projets plus volumineux (+300 bocaux et +4000 classes) et je pense qu'IntelliJ Idea 8 travaille sur ce point.

Tout cela est bien sûr subjectif. Comment pouvons-nous mesurer l'expérience utilisateur?

Idea 8.0 a la jolie ctrl + shift + espace x 2 qui effectue la saisie semi-automatique suivante:

 City city = customer.<ctrl-shift-space twice>

se résout à

 City city = customer.getAddress().getCity();

à travers un nombre quelconque de niveaux de getters / setters.

N'oubliez pas & "; comparez avec le presse-papiers &";

.

Quelque chose que j'utilise tout le temps dans IntelliJ et qui n'a pas d'équivalent dans Eclipse.

Mon raccourci favori dans IntelliJ qui n’a pas d’équivalent dans Eclipse (que j’ai trouvé) s’appelle "Symbole de visite". CTRL-ALT-SHIFT-N vous permet de commencer à taper et de scinder des classes, des noms de méthodes, des noms de variables, etc., à partir du projet entier.

J'ai essayé de passer à IntelliJ à cause du nouvel Android Studio. Mais je suis très déçu maintenant. J'utilise Eclipse avec le plugin Code Recommenders . Voici un exemple simple expliquant pourquoi Eclipse est si génial:

Je souhaite créer un nouveau SimpleTimeZone. <=> n'a pas de constructeur avec zéro argument.

Ctrl + Espace dans Eclipse

entrer la description de l'image ici

Ctrl + Espace dans IntelliJ

entrer la description de l'image ici

Dans IntelliJ, je ne sais pas quel type de constructeur <=> a.

Après Entrez dans Eclipse

entrer la description de l'image ici

Le constructeur précédemment sélectionné est rempli de noms de variables prédéfinis. Et je peux voir le type de chaque argument. Avec les recommandeurs de code, Eclipse devine le constructeur de droite à l'aide des types de variable définis précédemment dans la portée actuelle et remplit le constructeur de ces vars.

Après Entrez dans IntelliJ, rien ne se passe. Je reçois un constructeur vide. Je dois appuyer sur Ctrl + P pour voir les arguments attendus.

entrer la description de l'image ici

Si vous avez le curseur sur une méthode, CTRL + SHIFT + I affichera la mise en oeuvre de la méthode. Si la méthode est une interface méthode, vous pouvez utiliser les flèches vers le haut et vers le bas pour parcourir les implémentations:

Map<String, Integer> m = ...
m.contains|Key("Wibble");

Où | est (par exemple) où se trouve votre curseur.

IntelliJ propose des inspections de code assez avancées (comparables mais différentes de FindBugs).

Bien que je manque sérieusement un plugin FindBugs lorsque j'utilise IntelliJ (l’intégration Eclipse / FindBugs est plutôt cool).

Ici est une liste officielle de CodeInspections pris en charge par IntelliJ

EDIT: Enfin, il existe un findbugs-plugin pour IntelliJ. Il est encore un peu en version bêta, mais la combinaison d’inspections de code et de FindBugs est tout simplement géniale!

Loin, loin, beaucoup plus de refactorings.

Une des choses que j'utilise régulièrement est de définir un point d'arrêt, mais de contrôler ensuite son rôle. (Lors de mon dernier emploi, la plupart des gens utilisaient Eclipse ... Je me souviens d'avoir été surpris de constater que personne ne savait comment faire cela avec Eclipse.)

Par exemple, le point d'arrêt peut ne pas réellement s'arrêter, mais simplement enregistrer un message sur la console. Ce qui signifie que je n'ai pas besoin de nettoyer mon code avec & Quot; System.out.println (...) & Quot; puis recompilez.

Il y a beaucoup de choses que l'idée résout d'une manière beaucoup plus simple, ou il n'y a pas d'équivalent:

  • Actions de saisie semi-automatique: En faisant ctrl + shift + a , vous pouvez appeler n'importe quelle action idée depuis le clavier sans vous rappeler sa combinaison de touches ... Pensez à gnome-do ou launchy dans Windows, et vous avez l'idée! Cette fonctionnalité prend également en charge les abréviations de CamelCasing;)

  • Shelf: vous permet de séparer facilement certains morceaux de code, puis de les examiner via le visualiseur de différences.

  • Histoire locale: elle est bien mieux gérée et plus simple.

  • Annotations et historique SVN: une inspection plus simple, et vous pouvez facilement voir l'historique uniquement pour cette partie d'un fichier source complet.

  • La saisie semi-automatique est partout, comme les fenêtres d’expression d’expression et de condition de point d'arrêt.

  • Intégration Maven ... beaucoup, beaucoup plus simple et bien intégré.

  • Les refacteurs beaucoup plus proches de la main, tels que l'insertion de boucles, le wrapping / casting, le changement de nom et l'ajout de variables.

  • Trouvez beaucoup plus puissant et bien organisé. Même dans les grands projets

  • Très stable pour travailler avec plusieurs branches d'un grand projet en même temps (en tant qu'ancien correcteur de bogues de 1,5 Go par sources de branche, et la nécessité de travailler simultanément, l'idée a montré ses capacités à toute épreuve)

  • Interface plus propre et plus simple ...

  • Et, plus simple à utiliser uniquement avec le clavier, vous évitez le besoin d'utiliser la souris pour de nombreuses tâches simples, ce qui vous permet de gagner du temps et de vous concentrer davantage sur le code ... là où ça compte!

Et maintenant, étant opensource ... la base d'utilisateurs Idea va croître de façon exponentielle.

Recherche structurelle et remplacement.

Par exemple, recherchez quelque chose comme:

  System.out.println($string$ + $expr$);

Où $ string $ est un littéral et $ expr $ est une expression de type my.package.and.Class, puis remplacez par:

  $expr$.inspect($string$);

Mon timing est peut-être un peu décalé par rapport à ce fil, mais je devais simplement répondre.

Je suis un grand fan d’éclipse - je l’utilise depuis sa première apparition. Un ami m'a alors dit (il y a plus de 10 ans) que ce serait un joueur. Il avait raison.

Cependant! Je viens juste de commencer à utiliser IntelliJ et si vous n'avez pas vu ou utilisé les listes de modifications , vous manquez de programmation paradisiaque.

Je cherchais dans un plugin pour eclipse la possibilité de suivre mes fichiers modifiés (sur ma branche de développement comme un clearcase). Intellij suit toutes vos modifications pour un seul commit, extrêmement facile. Vous pouvez isoler les fichiers modifiés avec des listes personnalisées. J'utilise cela pour les fichiers de configuration qui doivent être uniques localement, mais sont constamment marqués lors de la synchronisation ou de la comparaison avec le référentiel - en les répertoriant dans une liste de modifications, je peux les contrôler, mais les ranger soigneusement pour pouvoir me concentrer sur les ajouts réels. Je fais.

De plus, il existe un plug-in Commit Log qui génère un texte de toutes les modifications pour les SCCS qui ne sont pas intégrées à votre logiciel de suivi des bogues. Le fait de coller le journal dans l'historique de travail d'un ticket permet de capturer les fichiers, leur version, la date / heure et les balises / branches. C'est cool comme l'enfer.

Tout cela pourrait être supporté via des plugins (ou de futures améliorations) dans eclipse, je parie; Pourtant, Intellij en fait un jeu d'enfant.

Enfin, je suis vraiment enthousiasmé par l’amour général de ce produit: les frappes au clavier, c’est donc douloureux, mais amusant.

Le débogueur IntelliJ possède une fonctionnalité très pratique appelée & "Evaluate Expression &", qui est de loin meilleure que le pendant eclipses. Son code est complet et je pense qu'il est généralement & Plus utile & Quot;.

.

Eh bien, pour moi, ce sont mille petites choses. Certaines des macros, la disposition de l'interface graphique en général dans Eclipse, je trouve affreux. Je ne peux pas ouvrir plusieurs projets dans différentes fenêtres d'Eclipse. Je peux ouvrir plusieurs projets, mais le système basé sur la vue échange beaucoup de choses sur moi lorsque je change de fichier. Les inspections de code d'IntelliJ semblent meilleures. Son aide popup pour résoudre les problèmes communs est agréable. Beaucoup de choses simples d'utilisation, comme la barre latérale où je peux survoler un point chaud, me diront chaque sous-classe d'implémentation d'une méthode ou de la méthode que j'implémente et d'où.

Chaque fois que je dois utiliser ou regarder quelqu'un utiliser, Eclipse semble pouvoir faire la plupart des choses que je peux faire dans IntelliJ, mais cela leur prend plus de temps et est plus encombrant.

Introduire une variable. ( Ctrl + Alt + V sous Windows, Cmd + Alt + V sous OSX)

Disons que vous appelez une méthode, service.listAllPersons() Appuyez sur Ctrl + Alt + V et sur Entrée , et la variable correspondant à la valeur renvoyée par l'appel de la méthode est insérée:

List<Person> list = service.listAllPersons();

vous enregistre en tapant, et vous n'avez pas à vérifier le type de retour de la méthode que vous appelez. Particulièrement utile lorsque vous utilisez des génériques, par exemple

new ArrayList<String>()

[introduire la variable]

ArrayList<String> stringArrayList = new ArrayList<String>();

(bien sûr, vous pouvez facilement changer le nom de la variable avant d'appuyer sur Entrée )

IntelliJ prend en charge intellisense et le refactoring, du code aux documents jspx.

Pour moi, c’est le support essentiel d’IDEA, en particulier dans la version 9, sans pareil. La synchronisation à la volée du projet avec le modèle Maven est tout simplement fantastique et rend le développement agréable.

Intellij a un plug-in SVN bien supérieur à Subversive ou Subclipse et ça marche! Le temps que nous avons perdu à fusionner des fichiers source avec Eclipse ne vous fait pas réfléchir. Ce n'est pas un problème avec IntelliJ car le plugin vous aide beaucoup plus.

De plus, le plug-in Subclipse n'est pas fiable. Nous avons régulièrement des cas où le plug-in ne pense pas que du code a été enregistré dans le SVN par d'autres développeurs mais que le serveur de CI les a traités!

VIM émulateur. Ce plugin fournit une émulation presque complète de vi / vim / gvim lors de la modification de fichiers dans IDEA.         Les fonctionnalités suivantes sont prises en charge:         

                
  • Touches de déplacement
  •             
  • Suppression / Modification
  •             
  • Commandes en mode insertion
  •             
  • Marques
  •             
  • Registres
  •             
  • Annuler / rétablir VIM
  •             
  • Commandes en mode visuel
  •             
  • Quelques commandes Ex
  •             
  • Certains: définir les options
  •             
  • Expressions régulières VIM complètes pour la recherche et la recherche / remplacement
  •             
  • Macros
  •             
  • Diagraphes
  •             
  • Historique de la ligne de commande
  •             
  • Historique de la recherche
  •             
  • Jumplists
  •             
  • aide VIM
  •         

Quelques commentaires sur ce plugin de http://plugins.jetbrains.net/plugin/ ? id = 164

                                                                               Je ne peux pas voir jamais revenir à une autre idée à cause de ce plugin ..                                                                                                    Le meilleur des deux mondes ... Génial!                                                                                                     c'est ce qui me manquait dans tous les IDE.

À mon avis, l'un des points positifs est la matrice de structure de dépendance : http://www.jetbrains.com/idea/features/dependency_analysis.html#link0

Le site Web de Lattix (produit autonome) contient une bonne introduction à l'utilisation de DSM: http://www.lattix.com/files/dl/slides /s.php?directory=4tour

Quelques autres choses:

  • propager des paramètres / exceptions lorsque changement de signature de méthode, très pratique pour mettre à jour les méthodes en profondeur à l'intérieur de la pile d'appels
  • Validation du code SQL dans les chaînes transmises en tant qu'arguments aux appels jdbc (et toute la nouvelle offre groupée trucs d'injection de langue)
  • implémenté dans / écrasé dans les icônes pour les interfaces & amp; les classes (et leurs méthodes) et la navigation d'implémentation intelligente (Ctrl + Alt + Clic ou Ctrl + Alt + B)
  • liaison entre les interfaces EJB 2.1 et les classes de bean (y compris le soutien de refactoring); vieux un, mais toujours extrêmement précieux lorsque vous travaillez sur des projets plus anciens

Deux choses qu'IntelliJ fait pour Eclipse ne sont pas très précieuses pour moi:

Séparateurs de méthodes: les légères lignes grises séparant les méthodes rendent le code beaucoup plus lisible

Anti-aliasing: rend le code si agréable dans l'EDI

Une fonctionnalité très utile est la possibilité de construire partiellement un projet de réacteur Maven de sorte que seules les pièces dont vous avez besoin soient incluses.

Pour clarifier un peu cette question, considérons le cas d’une collection de fichiers WAR contenant un grand nombre de ressources communes (par exemple, JavaScript, fichiers de configuration Spring, etc.) partagées entre eux à l’aide de technique de superposition . Si vous travaillez sur une page Web (exécutée dans Jetty) et souhaitez modifier une partie du code de surimpression contenu dans un module distinct, attendez-vous normalement à devoir arrêter Jetty, exécuter la version Maven, redémarrer Jetty et continuer. C'est le cas avec Eclipse et à peu près tous les autres IDE avec lesquels j'ai travaillé. Pas tellement dans IntelliJ. En utilisant les paramètres du projet, vous pouvez définir la facette de quel module vous souhaitez inclure dans une construction en arrière-plan. Par conséquent, vous vous retrouvez avec un processus qui semble transparent. Vous modifiez à peu près n'importe quel code du projet et il est immédiatement disponible après l'actualisation du navigateur.

Très soigné et très rapide.

Je ne pouvais pas imaginer coder un frontal dans quelque chose comme YUI sur DWR / SpringMVC sans celui-ci.

Préambule de ma réponse: Mon utilisation d’Eclipse est limitée. Nous avions besoin d'un IDE Java pour fonctionner à la fois sous Windows et Mac et le port Mac ralenti de jour en jour. C'était il y a des années et je suis sûr que tout va bien maintenant. Mais c’est ce qui nous a poussés à passer à IntelliJ et nous en sommes satisfaits.

Maintenant, pour répondre à ma question, une différence importante que je n'ai pas encore vue est que l'assistance technique est meilleure avec IntelliJ / Jet Brains. Nous envoyons un courrier électronique à JetBrains et obtenons une réponse définitive dans moins d'une heure. La recherche de réponses aux problèmes d’Eclipse donne les résultats habituels, & "Votre idiot stupide &"; réponses (généralement un petit nombre de réponses) ainsi que le nombre beaucoup plus important de réponses perspicaces et utiles. Mais il faut un peu de tri pour obtenir la vraie réponse.

Quelque chose que j'utilise dans IntelliJ tout le temps est le refactoring au fur et à mesure que je tape. J'ai réécrit des classes à partir d'un imprimé (à l'origine écrit en éclipse) en utilisant les deux IDE et j'ai utilisé environ 40% de touches / clics de souris en moins pour écrire les mêmes classes dans IntelliJ qu'éclipse.

Je ne voudrais pas utiliser Eclipse tant qu'ils ne prendront pas en charge autant de refactoring avec des morceaux de code incomplets.

Voici une liste plus longue de fonctionnalités d'IntelliJ 8.0 / 8.1 [ http: / /www.jetbrains.com/idea/features/index.html]

Il y a une chose que IntelliJ fait beaucoup mieux que Eclipse: vider vos poches!

Cependant, je préfère l’utiliser et son grand avantage par rapport à Eclipce est sa synchronisation avec le système de fichiers, pour les grands projets et les ordinateurs lents (oui, dans les environnements de travail, les PC sont beaucoup plus lents que chez nous) Eclipse semble avoir du mal à trouver la solution plus rapide d'IntelliJ, mais avec un temps d'indexation initial plus lent.

L’édition IntelliJ Community permet de l’utiliser gratuitement, mais vous souhaitez bientôt bénéficier de cette refactorisation supplémentaire et de ces petits cadeaux non inclus dans l’édition CC.

À mon avis, c’est généralement une meilleure expérience utilisateur, mais la question de savoir s’il en vaut la peine revient à chaque développeur de se répondre.

Mais soyons reconnaissants d’avoir jusqu’à trois excellents IDE pour Java en ce moment, avec NetBeans de mieux en mieux.

Analyse de flux de données : analyse inter-procédurale de flux amont et analyse de flux direct, comme décrit ici . Mes expériences sont basées sur Community Edition, qui analyse assez bien les flux de données. Il a échoué (refusé de faire quoi que ce soit) dans quelques cas où le code est très complexe.

Tout d’abord, j’adore intellij. Il y a au moins une centaine de fonctionnalités qui ont ce manque d'éclipse. Je parle d’amplitudes supérieures en termes de fiabilité et d’intelligence qu'aucune hyperbole ne peut décrire en matière de refactorisation, de changement de nom, de déménagement et d’autres déjà mentionnées.

MAIS, il y a une chose qu'intelliJ ne permet pas que l'éclipse le fasse. Il ne permet pas d'exécuter plusieurs projets simultanément sous la même machine virtuelle.

Lorsque vous avez des projets distincts pour le premier, le second, le noyau, les agents, etc., où ils doivent tous interagir les uns avec les autres, vous ne pouvez pas modifier et déboguer rapidement en même temps. La seule façon dont je gère actuellement cette situation consiste à utiliser des scripts ant pour déployer et mettre à jour des fichiers jar dans des projets dépendants, ou à utiliser maven.

Eclipse permet de déboguer plusieurs projets sous une seule instance de ide vm.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top