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.

Ian Vink
fonte

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 .

Daff
fonte
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.

Tony
fonte
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 :)

d3dave
fonte
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.
Rok Strniša
fonte
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.

user3074382
fonte
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 .(!+-*/~,[{@#$%^&
MuhsinFatih
fonte
Esta deve ser a resposta aceita. Porém, isso leva a um certo atraso.
Neil Chowdhury