CTRL-clic funziona ovunque
CTRL-clic che ti porta dove viene definito l'oggetto cliccato funziona ovunque - non solo nelle classi e variabili Java nel codice Java, ma nella configurazione Spring (puoi fare clic sul nome della classe, o proprietà o nome del bean), in Hibernate (tu è possibile fare clic sul nome o sulla classe della proprietà o sulla risorsa inclusa), è possibile spostarsi con un clic dalla classe Java a dove viene utilizzato come bean Spring o Hibernate; facendo clic sul tag JSP o JSTL incluso funziona anche, ctrl-clic sulla variabile JavaScript o sulla funzione ti porta nel posto in cui è definito o mostra un menu se ci sono più di un posto, inclusi altri file .js e codice JS in HTML o JSP File.
Completamento automatico per molte lingue
Hibernate
Completamento automatico nelle espressioni HSQL, nella configurazione Hibernate (compresi nomi di classi, proprietà e colonne DB), nella configurazione Spring
<property name="propName" ref="<hit CTRL-SPACE>"
e ti mostrerà l'elenco di quei bean che puoi iniettare in quella proprietà.
Giava
Completamento automatico molto intelligente nel codice Java:
interface Person {
String getName();
String getAddress();
int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>
e mostra SOLO getName () , getAddress () e toString () (solo loro sono compatibili per tipo) e getName () è il primo nell'elenco perché ha un nome più rilevante. L'ultima versione 8 che è ancora in EAP ha un completamento automatico ancora più 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>
e lo completerà automaticamente
Country c = p.getAddress().getCountry();
Javascript
Completamento automatico intelligente 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>;
}
e mostra SOLO getName () e getAddress () , non importa come possano ottenere * i metodi che hai in altri oggetti JS nel tuo progetto, e ctrl-click su this.getName () ti porta dove questo è definito, anche se ci sono alcune altre funzioni getName () nel tuo progetto.
HTML
Ho menzionato il completamento automatico e ctrl-clic nei percorsi dei file, come <script src = "", <img src = "", ecc?
Completamento automatico negli attributi dei tag HTML. Completa automaticamente l'attributo di stile dei tag HTML, sia i nomi che i valori degli attributi. Completamento automatico anche degli attributi di classe.
Digita <div class = "<CTRL-SPACE> e ti mostrerà l'elenco delle classi CSS definite nel tuo progetto. Scegline una, ctrl-clic su di essa e verrai reindirizzato al punto in cui è definito.
Facile illuminazione della propria lingua
L'ultima versione ha l'iniezione della lingua, quindi puoi dichiarare che il tuo tag JSTL personalizzato di solito contiene JavaScript e metterà in evidenza JavaScript al suo interno.
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
Ricerca indicizzata in tutto il progetto.
È possibile utilizzare Trova usi di qualsiasi classe o metodo Java e troverà dove viene utilizzato, comprese non solo le classi Java, ma anche Hibernate, Spring, JSP e altri luoghi. Rinomina metodo Il refactoring rinomina il metodo non solo nelle classi Java ma ovunque includendo i commenti (non si può essere certi che la stringa nei commenti sia davvero il nome del metodo, quindi verrà chiesto). E troverà solo il tuo metodo anche se ci sono metodi di un'altra classe con lo stesso nome. Buona integrazione del controllo del codice sorgente (SVN supporta le liste dei cambiamenti? IDEA le supporta per ogni controllo del codice sorgente), capacità di creare una patch con le modifiche in modo da poter inviare le modifiche ad altri membri del team senza impegnarle.
Debugger migliorato
Quando guardo HashMap nella finestra di controllo del debugger, vedo la vista logica - chiavi e valori, l'ultima volta che l'ho fatto in Eclipse mostrava voci con hash e campi successivi - non sto davvero eseguendo il debug di HashMap , voglio solo guardare è contenuto.
Convalida della configurazione di Spring & Hibernate
Convalida la configurazione di Spring e Hibernate proprio quando la modifichi, quindi non ho bisogno di riavviare il server per sapere che ho sbagliato l'ortografia del nome della classe o aggiunto il parametro del costruttore in modo che il mio cfg Spring non sia valido.
L'ultima volta che ho provato, non ho potuto eseguire Eclipse su Windows XP x64.
e ti suggerirà person.name o person.address . Ctrl-clic su person.name e ti porterà al metodo getName () della classe Person .
Digita Pattern.compile("");
put \\ lì, premi CTRL-SPACE e vedi un suggerimento utile su cosa puoi mettere nella tua espressione regolare. Puoi anche usare l'inserimento del linguaggio qui - definisci il tuo metodo che accetta il parametro stringa, dichiara nella finestra di dialogo delle opzioni IntelliLang che il tuo parametro è un'espressione regolare - e ti darà anche il completamento automatico lì. Inutile dire che evidenzia espressioni regolari errate.
Altre caratteristiche
Ci sono alcune funzionalità che non sono sicuro siano presenti in Eclipse o meno. Ma almeno ogni membro del nostro team che utilizza Eclipse, utilizza anche alcuni strumenti di fusione per unire le modifiche locali con le modifiche dal controllo del codice sorgente, di solito WinMerge. Non ne ho mai bisogno - la fusione in IDEA è abbastanza per me. Con 3 clic posso vedere l'elenco delle versioni dei file nel controllo del codice sorgente, con altri 3 clic posso confrontare le versioni precedenti o precedenti e quella attuale e possibilmente unirle.
Permette di specificare che ho bisogno di tutti i .jar all'interno della WEB-INF\lib
cartella, senza selezionare ogni file separatamente, quindi quando qualcuno commette nuovo .jar in quella cartella lo raccoglie automaticamente.
Di cui sopra è probabilmente il 10% di quello che fa. Non uso Maven, Flex, Swing, EJB e molte altre cose, quindi non posso dire come sia d'aiuto. Ma lo fa.