Eclipse Intellisense?


89

Como faço para dizer ao Eclipse para fazer sugestões automaticamente enquanto digito? Estou procurando um recurso semelhante ao Visual Studio Intellisense com Resharper.

Atualmente tenho que pressionar CTRL+ Spacetodas as vezes.

Respostas:


78

Você não precisa pressionar CTRL*, spacemas talvez o atraso seja muito grande ou você não goste do gatilho (o padrão é '.'). Vamos para

Janela -> Preferências -> Java / Editor / Assistente de conteúdo

E altere as configurações em Ativação automática de acordo com suas preferências.

Se isso não funcionar para usuários do Windows, consulte esta resposta .


1
o usuário Kevin Rossi tentou editar para apontar isto (o que na verdade é um comentário): "Isso não funciona com a distro Eclipse Juno C / C ++"
Denys Séguret

Cada editor no Eclipse pode ter seus próprios gatilhos de ativação automática - ativar nos mesmos personagens não faria sentido em todas as linguagens.
nitind

No Mac éADT -> Preferences -> Java/Editor/Content Assist
Adil Malik

170

Aproximei-me do comportamento semelhante ao do VisualStudio configurando o "Autocomplete Trigger for Java" para

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

e definir o atraso como 0.

Agora eu gostaria de perceber como torná-lo autocompletar nome do método quando pressiono (como faz o IntelliSense do VS.


1
Qual versão de eclipse é essa? A caixa de texto "Gatilhos de ativação automática para Java" me permite inserir apenas 4 caracteres.
Zesty

3
Isso funciona muito bem. Muito melhor, já que agora vai mostrar as variáveis ​​locais e tudo mais. Obrigado! @ HappyCoder4U Isso pode não ajudar, mas estou usando o eclipse 3.7M5.
Howler,

2
você é um gênio :) embora não haja essa configuração para linguagens não-java :(
Ivan G.

1
Impressionante. Obrigado! Usando Eclipse no Mac (3.6.1), o nome do parâmetro é 'Acionadores de ativação automática para Java'
ninjaPixel

4
Tudo funcionou, mas agora recebo um comportamento muito irritante: suponha que eu queira digitar "private int counter;" Começo com private e o autocomplete entra em ação com algumas sugestões (a primeira é PrivateCredentialPermission). Quando termino de digitar private e pressione "espaço", PrivateCredentialPermission é inserido. Alguma maneira de contornar isso?
VM4

41

Tony é um gênio puro. No entanto, para obter um preenchimento automático ainda melhor, tente definir os gatilhos para isto:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&

(especificamente organizado em ordem de uso para desempenho mais rápido :)


2
Este método apresenta alguns bugs. Por exemplo, se eu digitar =, sugiro algo imediatamente. Se eu pressionar espaço,, = ele inserirá automaticamente a primeira correspondência.
theGreenCabbage

verificar a proposta Java, a proposta Java Type e a proposta java non-type e movê-las por cima em ordem funcionou para mim.
Shailendra Singh Rajawat

Veja esta questão de estouro de pilha para algumas soluções para o problema de espaço: stackoverflow.com/questions/14297735/…
William Dutton

Todos os caracteres especiais farão o Intellisense parecer maluco, exceto para o período. Basicamente, se você nunca quiser que ele passe para o IntelliSense depois que um caractere for digitado, você não o quer nesta lista.
Andrew,

6

Se não estiver funcionando mesmo quando você já tiver o Code Assist ativado, os arquivos de configuração do Eclipse provavelmente estão corrompidos. Uma solução que funcionou para mim (no Eclipse 3.5.2) foi:

  1. Feche o Eclipse.
  2. Renomeie o diretório do espaço de trabalho.
  3. Inicie o Eclipse. (Isso cria um novo diretório de espaço de trabalho.)
  4. Importe (com cópia) os projetos Java da área de trabalho antiga.

Corrigido para mim também
Kenci

Boa solução, foi muito útil para mim, meu Eclipse não conseguiu mostrar o intellisense depois de (.), Tive que usar ctrl + espaço 3 vezes para mostrá-lo, Obrigado pela boa solução :-)
Muhammad

3

Uma vez tive o mesmo problema, então pesquisei e encontrei isso e funcionou para mim:

Eu tinha desmarcado algumas das caixas, então as verifiquei novamente e funcionou. Apenas vá para

Windows> Preferências> Java> Editor> Assistente de Conteúdo> Avançado

e marque as caixas que você deseja.


3

A resposta de d3dave é legal. No entanto, theGreenGarbage mencionou um problema que eu também acho bastante chato. Portanto, aqui está um que não sugere imediatamente algo após o sinal '=' e ao digitar um espaço em branco:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.(!+-*/~,[{@#$%^&

O que fiz foi simplesmente remover o espaço e '=' caracteres do array :)

Alternativamente, se você quiser sugestões ao digitar um espaço em branco, mas não depois do sinal '=':

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&

Esta deve ser a resposta aceita. Porém, isso leva a um certo atraso.
Neil Chowdhury
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.