CTRL-click fonctionne partout
CTRL-click qui vous amène à l'endroit où l'objet cliqué est défini fonctionne partout - non seulement dans les classes Java et les variables dans le 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 peut cliquer sur le nom ou la classe de la propriété, ou sur la ressource incluse), vous pouvez naviguer en un seul clic de la classe Java jusqu'à son utilisation en tant que bean Spring ou Hibernate; en cliquant sur la balise JSP ou JSTL incluse, cela fonctionne également, ctrl-cliquez 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 le 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 DB), dans la configuration Spring
<property name="propName" ref="<hit CTRL-SPACE>"
et il vous montrera la liste de ces 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 il vous montre UNIQUEMENT getName () , getAddress () et toString () (seulement ils sont compatibles par type) et getName () est le premier dans la liste car il a un nom plus pertinent. La dernière version 8 qui est toujours en EAP a une saisie 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 semi-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 il affiche UNIQUEMENT getName () et getAddress () , peu importe comment obtenir les méthodes * que vous avez dans d'autres objets JS dans votre projet, et ctrl-cliquez sur this.getName () vous amène là où celui-ci est défini, même si il existe d'autres fonctions getName () dans votre projet.
HTML
Ai-je mentionné la saisie semi-automatique et le ctrl-clic dans les chemins d'accès aux fichiers, comme <script src = "", <img src = "", etc.?
Saisie semi-automatique dans les attributs de balise HTML. Saisie semi-automatique dans l'attribut de style des balises HTML, à la fois les noms et les valeurs d'attribut. 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, ctrl-cliquez dessus et vous serez redirigé vers l'endroit où elle est définie.
Mise en surbrillance simple de la langue
La dernière version a une injection de langue, vous pouvez donc déclarer que votre balise JSTL personnalisée contient généralement 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ù il est utilisé, y compris non seulement les classes Java mais aussi Hibernate, Spring, JSP et d'autres endroits. Rename Method refactoring rename method non seulement dans les classes Java mais n'importe où, 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 il le demandera). Et il ne trouvera que votre méthode même s'il existe des méthodes d'une autre classe du même nom. Bonne intégration du contrôle de source (SVN prend-il en charge les listes de modifications? IDEA les prend en charge 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 une vue logique - clés et valeurs, la dernière fois que je l'ai fait dans Eclipse, il montrait des entrées avec hachage et champs suivants - je ne débogue pas vraiment HashMap , je veux juste regarder son contenu.
Validation de la configuration Spring & Hibernate
Il valide la configuration Spring et Hibernate dès que vous le modifiez, donc je n'ai pas besoin de redémarrer le serveur pour savoir que j'ai mal orthographié le nom de la classe, ou ajouté un paramètre 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 sur Windows XP x64.
et il vous suggérera person.name ou person.address . Ctrl-cliquez sur person.name et il vous dirigera vers la méthode getName () de la classe Person .
Tapez Pattern.compile("");
put \\ 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 langue ici - définissez votre propre méthode qui prend le 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 la saisie semi-automatique. Inutile de dire qu'il met en évidence les expressions régulières incorrectes.
Autres caractéristiques
Il y a peu de fonctionnalités dont je ne suis pas sûr qu'elles soient présentes dans Eclipse ou non. 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 source, généralement WinMerge. Je n'en ai jamais besoin - fusionner avec IDEA me suffit. En 3 clics, je peux voir la liste des versions de fichiers dans le contrôle de code source, en 3 autres clics, je peux comparer les versions précédentes, ou précédente et actuelle et éventuellement fusionner.
Il permet de spécifier que j'ai besoin de tous les .jars dans le WEB-INF\lib
dossier, sans choisir chaque fichier séparément, donc quand 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 beaucoup d'autres trucs, donc je ne peux pas dire comment ça aide avec eux. Mais c'est le cas.