CTRL-Klick funktioniert überall
Der STRG-Klick, der Sie zu dem Ort bringt, an dem das angeklickte Objekt definiert ist, funktioniert überall - nicht nur in Java-Klassen und Variablen im Java-Code, sondern auch in der Spring-Konfiguration (Sie können auf den Klassennamen oder die Eigenschaft oder den Bean-Namen klicken), in Hibernate (Sie können auf den Eigenschaftsnamen oder die Klasse oder die eingebundene Ressource klicken), Sie können mit einem Klick von der Java-Klasse dorthin navigieren, wo sie als Spring- oder Hibernate-Bean verwendet wird; Ein Klick auf ein eingebundenes JSP- oder JSTL-Tag funktioniert ebenfalls, ein Strg-Klick auf eine JavaScript-Variable oder -Funktion bringt Sie zu der Stelle, an der sie definiert ist, oder zeigt ein Menü an, wenn es mehr als eine Stelle gibt, einschließlich anderer . js-Dateien und JS-Code in HTML- oder JSP-Dateien.
Autovervollständigung für viele Sprachen
Winterschlaf
Autocomplete in HSQL-Ausdrücken, in der Hibernate-Konfiguration (einschließlich Klassen-, Eigenschafts- und DB-Spaltennamen), in der Spring-Konfiguration
<property name="propName" ref="<hit CTRL-SPACE>"
und es wird Ihnen eine Liste der Beans angezeigt, die Sie in diese Eigenschaft einfügen können.
Java
Sehr intelligente Autovervollständigung in Java-Code:
interface Person {
String getName();
String getAddress();
int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>
und es zeigt Ihnen NUR getName() , getAddress() y toString() (nur sie sind vom Typ her kompatibel) und getName() steht in der Liste an erster Stelle, weil sie einen aussagekräftigeren Namen hat. Die neueste Version 8, die sich noch in der EAP befindet, hat eine noch intelligentere Autovervollständigung.
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>
und es wird automatisch zu
Country c = p.getAddress().getCountry();
Javascript
Intelligente automatische Vervollständigung in 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>;
}
und es zeigt NUR getName() y getAddress() , egal wie viele get*-Methoden Sie in anderen JS-Objekten in Ihrem Projekt haben, und klicken Sie mit der Strg-Taste auf this.getName() bringt Sie dorthin, wo dieser definiert ist, auch wenn es noch andere getName() Funktionen in Ihrem Projekt.
HTML
Habe ich schon das automatische Ausfüllen und das Klicken mit der Strg-Taste in Dateipfaden erwähnt, wie <script src="", <img src="", usw.?
Autovervollständigung in HTML-Tag-Attributen. Autovervollständigung im Style-Attribut von HTML-Tags, sowohl Attributnamen als auch Werte. Automatische Vervollständigung auch in Klassenattributen.
Geben Sie <div class="<CTRL-SPACE> ein und es wird Ihnen eine Liste der in Ihrem Projekt definierten CSS-Klassen angezeigt. Wählen Sie eine aus, klicken Sie darauf und Sie werden dorthin weitergeleitet, wo sie definiert ist.
Einfache Hervorhebung der eigenen Sprache
Die neueste Version verfügt über Sprachinjektion, so dass Sie erklären können, dass Ihr benutzerdefiniertes JSTL-Tag normalerweise JavaScript enthält, und es wird JavaScript darin hervorgehoben.
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
Indizierte Suche über alle Projekte hinweg.
Sie können Find Usages für eine beliebige Java-Klasse oder -Methode verwenden und es findet heraus, wo sie verwendet wird, und zwar nicht nur in Java-Klassen, sondern auch in Hibernate, Spring, JSP und an anderen Stellen. Rename Method Refactoring benennt Methoden nicht nur in Java-Klassen um, sondern überall, auch in Kommentaren (es kann nicht sicher sein, ob der String in den Kommentaren wirklich ein Methodenname ist, also wird es nachfragen). Und es findet nur Ihre Methode, auch wenn es Methoden einer anderen Klasse mit demselben Namen gibt. Gute Integration in die Versionsverwaltung (unterstützt SVN Änderungslisten? IDEA unterstützt sie für jede Versionsverwaltung), Möglichkeit, einen Patch mit Ihren Änderungen zu erstellen, so dass Sie Ihre Änderungen an andere Teammitglieder senden können, ohne sie zu committen.
Verbesserter Debugger
Wenn ich mir anschaue HashMap im Watch-Fenster des Debuggers sehe ich die logische Ansicht - Schlüssel und Werte, das letzte Mal, als ich es in Eclipse tat, zeigte es Einträge mit Hash- und Next-Feldern - ich bin nicht wirklich am Debuggen HashMap Ich möchte mir nur den Inhalt ansehen.
Validierung der Spring- und Hibernate-Konfiguration
Es validiert die Spring- und Hibernate-Konfiguration direkt beim Bearbeiten, so dass ich den Server nicht neu starten muss, um zu wissen, dass ich einen Klassennamen falsch geschrieben oder einen Konstruktorparameter hinzugefügt habe, so dass meine Spring-CFG ungültig ist.
Bei meinem letzten Versuch konnte ich Eclipse unter Windows XP x64 nicht ausführen.
und es wird Ihnen vorgeschlagen Person.Name o person.adresse . Ctrl-Klick auf Person.Name und es wird Sie zu folgenden Seiten führen getName() Methode der Person Klasse.
Typ Pattern.compile("");
setzen. \\ drücken Sie die Tastenkombination STRG-LEERTASTE und Sie erhalten einen hilfreichen Hinweis, was Sie in Ihren regulären Ausdruck eingeben können. Sie können auch Sprachinjektion hier verwenden - definieren Sie Ihre eigene Methode, die String-Parameter nimmt, deklarieren Sie im IntelliLang-Optionen-Dialog, dass Ihr Parameter ein regulärer Ausdruck ist - und es wird Ihnen auch dort Autovervollständigung geben. Unnötig zu erwähnen, dass es falsche reguläre Ausdrücke hervorhebt.
Andere Merkmale
Es gibt ein paar Funktionen, bei denen ich mir nicht sicher bin, ob sie in Eclipse vorhanden sind oder nicht. Aber zumindest jedes Mitglied unseres Teams, das Eclipse verwendet, benutzt auch ein Zusammenführungswerkzeug, um lokale Änderungen mit Änderungen aus der Versionskontrolle zusammenzuführen, normalerweise WinMerge. Ich brauche es nie - mir reicht das Zusammenführen in IDEA. Mit 3 Klicks kann ich die Liste der Dateiversionen in der Versionskontrolle sehen, mit 3 weiteren Klicks kann ich frühere Versionen oder frühere und aktuelle Versionen vergleichen und möglicherweise zusammenführen.
Damit kann ich angeben, dass ich alle .jars innerhalb von WEB-INF\lib
Ordner, ohne jede Datei einzeln auszuwählen. Wenn also jemand eine neue .jar-Datei in diesen Ordner überträgt, wird sie automatisch mitgenommen.
Das oben genannte ist wahrscheinlich nur 10 % dessen, was es tut. Ich verwende Maven, Flex, Swing, EJB und viele andere Dinge nicht, so kann ich nicht sagen, wie es mit ihnen hilft. Aber es tut.