Atualizar
Isso foi corrigido no Eclipse 2018-12 . Este comportamento ainda é o padrão, mas pode ser configurado como desativado - veja a resposta aceita para saber como
Vou deixar a questão como era para a posteridade, e para aqueles em versões anteriores do Eclipse
No Eclipse, habilitei sugestões de estilo intellisense para Java indo para
Window -> Preferences -> Java/Editor/Content Assist
e definir o seguinte
Auto activation delay (ms) -> 0
Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
fonte = Eclipse Intellisense?
Isso funciona de forma brilhante, exceto por um problema irritante. Quando eu pressiono spacebar, o token que está sendo digitado é preenchido automaticamente com o que estiver no topo da lista de sugestões. Muito justo, exceto que às vezes eu digito um nome de classe / variável com uma correspondência legal exata, mas isso não aparecerá como a principal sugestão. Então, quando eu naturalmente acerto, spacebarEclipse insere algo completamente errado.
EG, depois de digitar
Cookie
, vou clicar spacebare pegarCookieMonster
.
Isso parece um bug e acontece com frequência o suficiente para ser irritante, mas mesmo apesar disso , não quero spacebaracionar o preenchimento automático em geral . Posso querer digitar um nome de variável que ainda não foi declarado ou algo semelhante. Quero usar o preenchimento automático como uma ferramenta auxiliar, mas minha digitação natural sempre deve ter prioridade sobre ela.
Eu gostaria de parar de spacebardisparar o autocomplete e voltar a usar enter, ou melhor ainda, acionar o autocomplete com uma customtecla não usada na digitação comum. Isso é possível?
Eu brinquei com todas as configurações do Content Assist sem sucesso. Pesquisar a pergunta no Google apenas retorna vários resultados sobre a desativação do recurso de preenchimento automático.
Este problema foi corrigido no Eclipse 2018-12 [4.10] veja a resposta aceita
Está presente em todas as versões anteriores, ou seja, 2018-09 [4.9], Photon [4.8], Oxygen [4.7], Neon [4.6], etc.
Respostas:
Eclipse 2018-12 já foi corrigido para isso!
Um patch para o Bug 348857 foi recentemente incorporado ao projeto Eclipse e lançado como parte do Eclipse 2018-12 . Você pode baixar essa versão aqui .
Agora você tem uma nova opção para desativar todos os gatilhos de inserção, exceto enter, o que impedirá o spacebarpreenchimento automático.
Basta ir para Preferências ... -> Java -> Editor -> Assistente de Conteúdo (ou Janela -> Preferências -> Java -> Editor -> Assistente de Conteúdo no Windows) e selecionar Desativar gatilhos de inserção, exceto 'Enter' , conforme mostrado no captura de tela abaixo:
fonte
Existe uma solução no rastreador de problemas para isso. Copie o jar na pasta eclipse / dropins. Com a próxima reinicialização, o espaço é desativado como gatilho de preenchimento automático.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=348857
Eclipse 12-2018 e mais recente: está funcionando nativamente, verifique a resposta de Pyves.
fonte
Use uma versão SDK do eclipse
1. Abra Plug-ins Visualize e encontre org.eclipse.jface.text, clique com o botão direito e escolha importar como Projeto de Origem. Após a importação, você o encontra em sua área de trabalho.
2. Em src / org / eclipse / jface / text / contentassist / CompletionProposalPopup.java
char[] triggers = t.getTriggerCharacter(); if(contains(triggers,key))
mudar para
if(key!='='&&key!=0x20&&contains(triggers,key))
3.Export org.eclipse.jface.text
Clique com o botão direito do mouse na pasta do projeto de org.eclipse.jface.text, escolha exportar -> Plug-ins e fragmentos implementáveis, em seguida, escolha o arquivo de destino e conclua. Substitua aquele no eclipse / plug-ins pelo que você gerou.
fonte
0x20
vez de' '
?A barra de espaço tem sido a chave para selecionar o autocomplete, mesmo no Indigo. Até onde sei, isso não pode ser configurado. Na verdade, é provavelmente por isso que existe o atraso.
Eu sugiro definir o atraso para algum valor ideal que permite que você digite coisas como
private void ...
confortavelmente sem acionar sugestões paraprivate
evoid
. Então, caso você receba uma sugestão porque esperou muito, pressione Escape para abortar o Assistente de Conteúdo.fonte
Mesma configuração que davnicwil, mesmo problema, ainda no eclipse 4.4.
Solução : Interceptar (gancho) SHIFT + SPACE (pressionar e segurar) no eclipse (janela do editor) e substituí-lo por ESC, SPACE (sequência). Agora você pode decidir entre
No Windows, você pode usar http://www.heise.de/download/activaid.html (você também pode usar AutoHotkey, java native hook, ...)
HowTo com ActivAid:
Meu arquivo de configuração: activAid / settings / ac'tivAid.ini: [UserHotkeys]
Você também pode remapear as teclas em teclados diferentes do inglês com "HotStrings", por exemplo, ö -> {, ä->} etc.
fonte
Finalmente resolvi isso.
Tente baixar este org.eclipse.jface.text.jar e copie-o para a pasta do plug-in (normalmente eclipse / plug-in). Não se esqueça de fazer o backup do seu próprio.
Funciona no Eclipse Juno.
Se o link não funcionar, comente sobre isso, obrigado.
fonte
Você pode desabilitar a ativação automática por meio da caixa de seleção em
e ative o recurso de preenchimento automático sob demanda. A tecla de atalho padrão para isso é
CTRL+Space
fonte
No Eclipse, vá para Janela -> Preferências -> Geral -> Chaves e remova a ligação para o comando Assistência de Conteúdo.
fonte