web-dev-qa-db-fra.com

Des choses possibles dans IntelliJ qui ne le sont pas dans Eclipse?

J'ai entendu parler de gens qui ont changé d'un côté ou de l'autre 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, j’aimerais avoir des nouvelles des utilisateurs d’IntelliJ qui sont des "ex-éclipsiens" de certaines choses spécifiques que vous pouvez faire avec IntelliJ et que vous ne pouvez pas faire avec Eclipse.

Note: Ce n'est pas une question subjective ni du tout destinée à se transformer en IDE guerre sainte. S'il vous plaît voter à la baisse pour toute réponse enflammée .

366
Epaga

CTRL-click fonctionne n'importe où

CTRL-click qui vous amène là où l’objet cliqué est défini fonctionne partout - pas seulement dans Java classes et variables dans le code Java, mais dans la configuration Spring (vous pouvez cliquer sur le nom de la classe, ou bien, ou nom du bean), dans Hibernate (vous pouvez cliquer sur le nom de la propriété ou de la classe, ou sur la ressource incluse), vous pouvez naviguer en un clic de la classe Java à l’endroit où elle est utilisée comme bean Spring ou Hibernate ; cliquer sur les balises JSP ou JSTL incluses fonctionne également; ctrl-clic sur une variable ou une fonction JavaScript pour accéder à l'emplacement où il est défini ou afficher un menu s'il existe plusieurs emplacements, y compris d'autres fichiers .js et code JS au format HTML ou JSP des dossiers.

Complétion automatique pour de nombreuses langues

Hibernate

Complétion automatique dans les expressions HSQL, dans la configuration Hibernate (y compris les noms de classe, de propriété et de colonne DB), dans la configuration Spring

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

et il vous montrera la liste de ces haricots que vous pouvez injecter dans cette propriété.

Java

Complétion automatique très intelligente dans le code Java:

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

et il vous montre UNIQUEMENT getName (), getAddress () et toString () (seuls ils sont compatibles par type) et getName () est le premier de la liste car son nom est plus pertinent. La dernière version 8, qui est toujours dans EAP, possède une autocomplétion 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 silencieusement

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

Javascript

Autocomplete 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 il montre UNIQUEMENT getName () et getAddress (), peu importe comment vous pouvez obtenir * les méthodes que vous avez dans d'autres objets JS de votre projet, puis cliquez sur - this.getName () vous amène à l'endroit où celui-ci est défini, même s'il existe d'autres fonctions getName () dans votre projet.

HTML

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

Autocomplete dans les attributs de balises HTML. Attribut de style à remplissage automatique des balises HTML, noms et valeurs d'attributs. 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 une, cliquez en maintenant la touche Ctrl enfoncée et vous serez redirigé là où il est défini.

Facile propre langue mettant en lumière

La dernière version a l'injection de langue, vous pouvez donc déclarer que votre balise JSTL personnalisée contient généralement du JavaScript et qu'elle y mettra en évidence le JavaScript.

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

Recherche indexée sur tous les projets.

Vous pouvez utiliser les méthodes de recherche de toute classe ou méthode Java. Elle trouvera où elle est utilisée, y compris non seulement les classes Java, mais également Hibernate, Spring, JSP et autres. Rename Method refactoring rename method, non seulement dans les classes Java, mais aussi partout avec des commentaires (il est impossible de savoir si la chaîne dans les commentaires est vraiment le nom de la méthode, elle le demandera donc). 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 source (SVN prend-il en charge les listes de modifications? IDEA pour chaque contrôle de 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 HashMap dans la fenêtre de surveillance du débogueur, je vois la vue logique - clés et valeurs, la dernière fois que je l'ai fait dans Eclipse, il montrait des entrées avec des champs de hachage et des champs suivants - je ne suis pas vraiment en train de déboguer - HashMap, je veux juste regarder le contenu.

Validation de la configuration de Spring & Hibernate

Il valide la configuration de Spring et Hibernate lorsque vous la modifiez. Par conséquent, je n'ai pas besoin de redémarrer le serveur pour savoir que le nom de la classe est mal orthographié ou que le paramètre constructeur a été ajouté pour que mon Spring cfg ne soit pas valide.

La dernière fois que j'ai essayé, je ne pouvais pas utiliser Eclipse sous Windows XP x 64.

et il vous suggérera personne.nom ou personne.adresse. Ctrl-cliquez sur personne.nom et il vous dirigera vers la méthode getName () de Personne.

Tapez Pattern.compile(""); mettez \\ ici, appuyez sur CTRL-SPACE et voyez un indice utile 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 vous obtiendrez également une saisie semi-automatique. Inutile de dire que cela met en évidence les expressions rationnelles incorrectes.

Autres caractéristiques

Je ne suis pas sûr que certaines fonctionnalités soient présentes dans Eclipse ou non. Mais au moins tous les membres de notre équipe qui utilisent Eclipse utilisent également un outil de fusion pour fusionner les modifications locales avec les modifications du contrôle de source, généralement WinMerge. Je n'en ai jamais besoin - la fusion de IDEA me suffit. En 3 clics, je peux voir la liste des versions de fichiers dans le contrôle de source, en 3 clics supplémentaires, je peux comparer les versions précédentes, ou les versions précédentes et actuelles, et éventuellement fusionner.

Cela permet de spécifier que j'ai besoin de tous les fichiers .jars dans le dossier WEB-INF\lib, sans sélectionner chaque fichier séparément. Ainsi, lorsqu'un utilisateur valide un nouveau fichier .jar dans ce dossier, il le récupère automatiquement.

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

185
Pavel Feldman

J'utilise intellij et pas Eclipse pour une seule raison: Ergonomie

Que ce soit pour le débogage, le refactoring, la complétion automatique ... Intellij est beaucoup plus facile à utiliser avec des raccourcis clavier cohérents, des options disponibles où vous les cherchez, etc. Ce dernier a beaucoup plus de plugins disponibles que intellij, et est facilement extensible.

81
amit

Ce n’est probablement pas une question de quoi peut/ne peut pas être fait, mais comment.

Par exemple, les deux ont un éditeur entouré de panneaux d'ancrage pour projet, classpath, sortie, structure, etc. Mais dans Idea, lorsque je commence à taper tout cela, réduisez-le automatiquement, laissez-moi me concentrer sur le code lui-même; 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 minimiser dans ces panneaux. Faire cela toute la journée est une expérience très frustrante dans Eclipse.

L'inverse se produit avec la fenêtre d'affichage de la sortie. 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 dans Idea, il est traité. un moyen spécial: "Si l'utilisateur veut exécuter son programme, il est très probable qu'il veuille voir le résultat de ce programme!" Cela semble si naturel lorsque 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. Naturel".

Ceci peut être répété pour presque toutes les fonctionnalités des deux logiciels: saisie semi-automatique, synthèse automatique, synthèse rapide, affichage de la documentation, etc. 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 des projets plus volumineux plus rapides (+300 bocaux et +4000 classes) et je pense qu'IntelliJ Idea 8 y travaille.

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

54
OscarRyz

L'idée 8.0 a la belle ctrl+shift+space x 2 qui effectue la saisie semi-automatique suivante:

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

décide de

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

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

45
krosenvold

N'oubliez pas "comparer avec le presse-papier".

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

33
Daniel Alexiuc

Mon raccourci favori d'IntelliJ qui n'a pas d'équivalent dans Eclipse (que j'ai trouvé) s'appelle 'Aller au symbole'. CTRL-ALT-SHIFT-N vous permet de commencer à taper et à décomposer des classes, des noms de méthodes, des noms de variables, etc. à partir de l’ensemble du projet.

31
Paul Morie

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

Je veux créer un nouveau SimpleTimeZone. SimpleTimeZone n'a pas de constructeur avec zéro argument.

Ctrl + Space dans Eclipse

enter image description here

Ctrl + Space dans IntelliJ

enter image description here

Dans IntelliJ, je n'ai pas d'informations sur le type de constructeur que SimpleTimeZone possède.

Après Enter dans Eclipse

enter image description here

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 bon constructeur à l'aide des types de variable définis précédemment dans l'étendue actuelle et remplit le constructeur avec ces vars.

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

enter image description here

27
passsy

Si vous avez le curseur sur une méthode alors CTRL+SHIFT+I affichera la mise en œuvre de la méthode. Si la méthode est une méthode interface, 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.

25
oxbow_lakes

IntelliJ a des contrôles de code assez avancés (comparables mais différents de FindBugs).

Bien que je manque sérieusement un plugin FindBugs lors de l'utilisation d'IntelliJ (l'intégration Eclipse/FindBugs est plutôt cool).

Here est une liste officielle de CodeInspections supportés 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!

24
Mo.

Loin, loin, beaucoup plus de refactorings.

16
Tom

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: faire ctrl+shift+a vous pouvez appeler n'importe quelle idée 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 passer en revue dans le visualiseur de différences.

  • Histoire locale: C'est beaucoup mieux géré et plus simple.

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

  • Autocomplete 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ée.

  • Des 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.

  • Trouver beaucoup de 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 correctif de 1,5Gb 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, évitant ainsi d'utiliser la souris pour de nombreuses tâches simples, vous permettant de gagner du temps et de vous concentrer davantage sur le code ... là où cela compte!

Et maintenant, étant opensource ... la base d'utilisateurs Idea va croître de manière exponentielle.

15
Serginho

Une des choses que j'utilise régulièrement est de définir un point d'arrêt, mais de contrôler ensuite ce qu'il fait. (Lors de mon dernier emploi, la plupart des gens utilisaient Eclipse ... Je me souviens d'avoir été surpris de constater que personne ne pouvait trouver comment faire cela dans 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 "System.out.println (...)" puis de le recompiler.

15
jgindin

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 remplace par:

  $expr$.inspect($string$);
14
Darron

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'Eclipse - 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.

Pourtant! Je viens de commencer à utiliser IntelliJ et si vous n'avez pas vu ou utilisé listes de modifications - Vous manquez le paradis de la programmation.

La capacité de suivre mes fichiers modifiés (sur ma branche de développement comme un clearcase) était quelque chose que je recherchais dans un plugin pour Eclipse. 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 surveiller, mais les ranger soigneusement pour pouvoir me concentrer sur les ajouts réels. Je fais.

En outre, 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 des améliorations futures) 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, donc c’est douloureux, mais amusant.

13
G Craig

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

12
Mo.

Eh bien, pour moi, c'est 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 visualisation échange sur moi un tas de choses lorsque je change de fichier. Les inspections de code d'IntelliJ semblent meilleures. Nice est son aide contextuelle pour résoudre les problèmes courants. Beaucoup de choses simples d'utilisation, comme la barre latérale où je peux survoler un point chaud, me diront toutes les sous-classes d'implémentation d'une méthode ou de la méthode que je mets en œuvre 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 c'est plus encombrant.

11
Chris Kessel

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

Disons que vous appelez une méthode, service.listAllPersons() Hit Ctrl+Alt+V et Enteret une variable pour la valeur de retour de l'appel de 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 lors de l’utilisation de médicaments génériques, par ex.

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 de frapper Enter)

9
rlovtang

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

8
krosenvold

Pour moi, c’est le soutien important 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.

7
mdma

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 plugin Subclipse n'est pas fiable - nous avons régulièrement des cas où le plugin ne pense pas que d'autres développeurs ont archivé du code, mais le serveur de CI les a traités!

6
Tony Ruddock

Un des points positifs à mon avis est la matrice de structure de dépendance : http://www.jetbrains.com/idea/features/ dependency_analysis.html # link

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

4
Herrmann

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 mouvement
  • Suppression/Modification
  • Commandes en mode insertion
  • Des notes
  • Registres
  • VIM défaire/refaire
  • Commandes en mode visuel
  • Quelques commandes Ex
  • Certains: définir les options
  • Full VIM _ expressions régulières pour la recherche et la recherche/remplacement
  • Les macros
  • Diagraphies
  • Historique de la ligne de commande
  • Historique des recherches
  • Jumplists
  • Aide VIM

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

4
Maciek Kreft

Quelques autres choses:

  • propage des paramètres/exceptions lors du changement de signature de méthode, très pratique pour mettre à jour des méthodes au cœur de la pile d'appels
  • Validation du code SQL dans les chaînes transmises en tant qu'arguments aux appels jdbc (et à l'intégralité du processus d'injection de langue récemment fourni)
  • implémenté dans/écrasé dans les icônes pour les interfaces et les classes (et leurs méthodes) et la navigation intelligente dans l'implémentation (Ctrl + Alt + Clic ou Ctrl + Alt + B)
  • la liaison entre les interfaces EJB 2.1 et les classes de bean (y compris la prise en charge du refactoring); ancien, mais toujours extrêmement précieux lorsque vous travaillez sur des projets plus anciens
3
Andrei

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

Séparateurs de méthodes: ces lignes grises entre les méthodes rendent le code beaucoup plus lisible

Anti-aliasing de texte: donne au code une apparence si agréable dans l'EDI

2
yalestar

Préambule à ma réponse: Mon utilisation d'Eclipse est limitée. Il nous fallait un Java IDE 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 ma réponse: une grande différence que je n'ai pas encore vue mentionnée est que le support technique est meilleur 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 Eclipse donne les réponses habituelles "Votre idiot stupide" (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.

2
Jim Dodd

Tout d'abord j'aime intellij. Il y a au moins une centaine de fonctionnalités qui manquent à Eclipse. Je parle d’amplitudes supérieures en matière 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 que intellij ne permet pas à Eclipse de le faire. 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 front, le milieu, 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 pour moi d’y remédier consiste à utiliser des scripts ant pour déployer et mettre à jour des fichiers jar dans des projets dépendants, ou à utiliser maven.

Eclipse permet à plusieurs projets d'être débogués sous une seule instance de ide vm.

2
blicket

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 la chose, 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 Continuez. C'est le cas avec Eclipse et presque 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 pratiquement tous les codes du projet et ceux-ci sont immédiatement disponibles après l'actualisation du navigateur.

Très soigné et très rapide.

Je ne pouvais pas imaginer de coder un frontal dans quelque chose comme YUI sur DWR/SpringMVC sans cela.

2
Gary Rowe

Analyse du flux de données : analyse inter-procédurale du flux amont et analyse du 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.

2
Ville Laitila

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'une impression (à l'origine écrite dans Eclipse) 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'Eclipse.

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]

2
Peter Lawrey

Il y a une chose que IntelliJ fait beaucoup mieux qu'Eclipse et qui vide vos poches!

Cependant, je préfère l’utiliser et un gros avantage sur 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 lutte où IntelliJ semble être plus rapide, mais avec un temps d’indexation initial plus lent.

L’édition IntelliJ Community rend l’utilisation gratuite, mais vous voulez bientôt ces refactorisations supplémentaires et ces petits cadeaux sympas non inclus dans l’édition CC.

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

Mais soyons reconnaissants que nous ayons jusqu'à trois excellents IDE pour Java avec NetBeans de mieux en mieux.

2
Shawn Vader

À l'heure actuelle, c'est le seul qui peut avoir des onglets déchirés dans une autre fenêtre. Pratique quand vous avez plus d’écrans.

1
Scoobie

J'ai découvert récemment au moins deux avantages d'IntelliJ IDEA sur Eclipse.

Si l'on essaie d'utiliser la formulation de code dans l'éditeur de code JSP, les scriptlets JSP sont cassés. Eclipse devient un peu fou, il annonce des morceaux de code aléatoires ici et là. IDEA se comporte très bien.

L'autre chose est la rapidité de déploiement de l'application sur le serveur JBoss. IntelliJ remplace l'application dans le dossier tmp de JBoss, le redéploiement est donc très rapide. Eclipse WTP remplace l’application dans le dossier de déploiement, qui dure beaucoup plus longtemps.

1
Piotr Kochański

Je ne me souviens pas si le retour à la ligne/méthode/méthode/classe est possible dans Eclipse

Dans Intellij Idea, vous utilisez Ctrl+W

0
OscarRyz

Ouvrez un projet depuis un POM Maven. Il suffit de sélectionner "Ouvrir le projet ..." pour accéder à votre pom.xml de niveau supérieur et appuyer sur Entrée :) NetBeans propose désormais cette fonctionnalité.

0
rlovtang

Désolé si cela est déjà couvert, mais simplement avoir l'onglet "modifications" où je peux voir mes modifications locales, les modifications entrantes, les modifications distantes est tout simplement quelque chose sans lequel je ne peux pas vivre .. Dans Eclipse, je ne peux pas trouver un tel une caractéristique!

De plus, une simple chose comme un clic du milieu qui se lie à la "déclaration ouverte" est une excellente addition à l'interface utilisateur - quelque chose que je ne vois pas non plus implémenté dans Eclipse.

Il n'y a que Eclipse sur mon lieu de travail mais je songe sérieusement à acheter une licence personnelle Idea ....

0
ustad

Dans IntelliJ, il est possible de parcourir l'historique des derniers lieux édités avec "Dernier emplacement d'édition". Eclipse a une fonctionnalité similaire mais Eclipse ne retourne qu’à un seul niveau d’emplacement d’édition.

Avoir l’historique plutôt que le seul niveau offert par Eclipse est une fonctionnalité très productive: elle agit comme une forme de bookmarking automatique, dans la mesure où vous souhaitez souvent revenir aux endroits où vous avez apporté des modifications. J'utilise cette capacité plusieurs fois par jour et je ressens la douleur de ne pas l'avoir lorsqu'on me demande d'utiliser Eclipse pour quelque chose.

0
TomW

Il existe un certain nombre de fonctionnalités et de flux de travail qui sont différents dans les deux, comme cela est évident dans toutes les réponses. Cependant, je pense qu’en décidant quel cadre utiliser, on tient également compte de l’amélioration générale de la productivité que l’on peut réaliser avec chaque outil.

Je suis un grand fan de Netbeans et d'Eclipse et les utilise depuis de nombreuses années. Ce sont d'excellents outils et, selon ce que vous faites, vous pouvez choisir l'un ou l'autre.

Cependant, il y a environ six mois, alors que je travaillais sur un projet web complexe Java impliquant beaucoup de code frontal javascript pour une interface utilisateur HMT5, j'ai été contraint de rechercher des alternatives à Eclipse en raison d'un bogue js autocomplete. J'étais tellement désespéré que j'envisageais de retourner à un simple éditeur de texte pour mon code js !!!

Ce n’est que par chance que j’ai rencontré Intellij Idea (malheureusement pas le temps de rechercher des outils).

Bien qu’il faille un certain temps pour s’habituer à la façon de faire Idea, à part les fonctionnalités spéciales, l’augmentation de productivité qu’elle offre à partir de petites choses à gauche et à droite est le plus grand atout à mon avis. Cela fonctionne tout simplement mieux pour moi et je suis maintenant un client d’Idea Ultimate payant. Une fois que vous vous êtes habitué à cela, il est très difficile de revenir à autre chose.

Rien ne vaut la liberté et je suis un grand fan de l'open source, mais au final, si vous le faites pour gagner votre vie, être capable de faire les choses plus rapidement est rentable à chaque fois.

0
CuNimb

Je pense que vous pouvez vous en tenir à l'un de ces IDE. Le meilleur signe pour ne pas "craindre de rater un avantage énorme dans le IDE que vous n'utilisez pas" est les très longs arguments que nous avons vus entre les fans d'Eclipse et ceux d'IntelliJ. C'est un bon signe que les deux côtés ont presque le même pouvoir, ce qui a permis à cette longue discussion de survivre.

0
Ali Motevallian