CTRL-click funciona em qualquer lugar
CTRL-click que leva você aonde o objeto clicado é definido funciona em todos os lugares - não apenas nas classes e variáveis Java no código Java, mas na configuração Spring (você pode clicar no nome da classe, propriedade ou nome do bean), no Hibernate (você pode clicar no nome ou na classe da propriedade ou no recurso incluído), você pode navegar com um clique da classe Java para onde é usado como bean Spring ou Hibernate; clicar na tag JSP ou JSTL incluída também funciona; clicar com a tecla Ctrl pressionada na variável ou função JavaScript leva ao local definido ou exibe um menu se houver mais de um local, incluindo outros arquivos .js e código JS em HTML ou JSP arquivos.
Preenchimento automático para muitos idiomas
Hibernate
Preenchimento automático em expressões HSQL, na configuração do Hibernate (incluindo classe, propriedade e nomes de colunas do banco de dados), na configuração do Spring
<property name="propName" ref="<hit CTRL-SPACE>"
e mostrará uma lista daqueles beans que você pode injetar nessa propriedade.
Java
Preenchimento automático muito inteligente no código Java:
interface Person {
String getName();
String getAddress();
int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>
e mostra SOMENTE getName () , getAddress () e toString () (apenas eles são compatíveis por tipo) e getName () é o primeiro da lista porque possui um nome mais relevante. A versão mais recente 8, que ainda está no EAP, tem preenchimento automático ainda mais inteligente.
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 silenciosamente o completará automaticamente para
Country c = p.getAddress().getCountry();
Javascript
Preenchimento automático inteligente em 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 ONLY getName () e getAddress () , não importa como você pode obter os métodos * que você possui em outros objetos JS em seu projeto e clique com a tecla Ctrl pressionada em this.getName () leva você a onde este está definido, mesmo se existem outras funções getName () no seu projeto.
HTML
Eu mencionei o preenchimento automático e a tecla Ctrl pressionada nos caminhos dos arquivos, como <script src = "", <img src = "", etc?
Preenchimento automático nos atributos da tag HTML. Preenchimento automático no atributo de estilo de tags HTML, nomes e valores de atributos. Preenchimento automático nos atributos de classe também.
Digite <div class = "<CTRL-SPACE> e ele mostrará uma lista das classes CSS definidas em seu projeto. Escolha uma, clique com a tecla Ctrl pressionada e você será redirecionado para onde está definido.
Destacamento fácil de linguagem própria
A versão mais recente possui injeção de idioma, para que você possa declarar que a tag JSTL customizada geralmente contém JavaScript e destacará o JavaScript dentro dela.
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
Pesquisa indexada em todo o projeto.
Você pode usar Localizar usos de qualquer classe ou método Java e encontrará onde é usado, incluindo não apenas as classes Java, mas também o Hibernate, Spring, JSP e outros locais. A renomeação do método Renomear renomeia o método não apenas nas classes Java, mas em qualquer lugar incluindo comentários (não é possível ter certeza se a sequência nos comentários é realmente o nome do método, portanto, será solicitado). E ele encontrará apenas seu método, mesmo se houver métodos de outra classe com o mesmo nome. Boa integração de controle de fonte (o SVN suporta listas de alterações? A IDEA as suporta para todos os controles de origem), capacidade de criar um patch com suas alterações para que você possa enviar suas alterações para outro membro da equipe sem enviá-las.
Depurador aprimorado
Quando olho para o HashMap na janela de inspeção do depurador, vejo a visão lógica - chaves e valores, da última vez que o fiz no Eclipse, mostrava entradas com hash e campos seguintes - não estou realmente depurando o HashMap , só quero ver conteúdo.
Validação de configuração do Spring & Hibernate
Ele valida a configuração do Spring e do Hibernate quando você a edita, portanto, não preciso reiniciar o servidor para saber que escrevi incorretamente o nome da classe ou adicionei parâmetro construtor para que meu cfg do Spring seja inválido.
Na última vez que tentei, não consegui executar o Eclipse no Windows XP x64.
e sugerirá você person.name ou person.address . Pressione Ctrl e clique em person.name para navegar pelo método getName () da classe Person .
Digite Pattern.compile("");
put \\ there, pressione CTRL-SPACE e veja dicas úteis sobre o que você pode colocar em sua expressão regular. Você também pode usar a injeção de linguagem aqui - defina seu próprio método que usa o parâmetro string, declare na caixa de diálogo de opções do IntelliLang que seu parâmetro é expressão regular - e também lhe será preenchido automaticamente. Escusado será dizer que destaca expressões regulares incorretas.
Outras características
Existem alguns recursos que não tenho certeza de que estão presentes no Eclipse ou não. Porém, pelo menos cada membro de nossa equipe que usa o Eclipse também usa alguma ferramenta de mesclagem para mesclar alterações locais com alterações do controle de origem, geralmente o WinMerge. Eu nunca preciso disso - incorporar o IDEA é suficiente para mim. Por 3 cliques, posso ver a lista de versões de arquivos no controle de origem; por mais 3 cliques, posso comparar versões anteriores ou anteriores e atuais e, possivelmente, mesclar.
Ele permite especificar que eu preciso de todos os .jars dentro da WEB-INF\lib
pasta, sem selecionar cada arquivo separadamente; portanto, quando alguém envia um novo .jar para essa pasta, ele é automaticamente capturado .
Mencionado acima é provavelmente 10% do que faz. Eu não uso Maven, Flex, Swing, EJB e muitas outras coisas, por isso não sei dizer como isso os ajuda. Mas sim.