Ctrl-Espaço no Eclipse sem pressionar Ctrl-Espaço


91

Acabei de começar a usar o Eclipse e percebi que, quando começo a digitar um nome de variável local, ele não aparece com sugestões como o Visual Studio faz até que eu pressiono Ctrl+ Space. Existe alguma maneira de fazer isso automaticamente? Acho Ctrl+ Spaceum pressionamento de tecla estranho.


4
Espero que isso eventualmente seja "respondido" por uma correção de bug. Eu quero isso também. Eu nem me lembro como eu sei sobre CTRL-Space. Isso traz isso para o Visual Studio?
— Xonatron

Respostas:


161

Esses bugs (e uma solução se você usa Eclipse> 3.4) podem ser do seu interesse:

A. Permitir mais gatilhos de caracteres como @Samuel disse (corrigido no 3.4 em diante):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=159157 adicione os caracteres abaixo ao assistente de conteúdo em Preferências

Altere o padrão em acionadores de ativação automática para Java para._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

B. Permitir assistência de conteúdo em todos os lugares automaticamente (não corrigido):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=101420


31
Portanto, um bug de 4 anos e meio que faria o Eclipse funcionar como o Visual Studio ainda não foi corrigido? Alguma ideia de porque eles adiaram um recurso que imo. é mais importante do que qualquer outra coisa que eles fizeram nos últimos 4 anos.
— Claus Jørgensen

1
Talvez haja outro bug aberto para ele que eu perdi ... Acho que é um eclipse de recursos que provavelmente também deveria ter.
— Marcos Papa

Então eu acho que a resposta é que o recurso não existe e é um bug?
— Brandon O'Rourke

3
Interessante, um bug de 4,5 anos, e isso foi há 4 anos ...? Tive que aplicar isso para xml, e java ainda não corrigiu.
— MDMoore313

3
Alguma ideia do que um usuário CDT pode fazer? Essas opções não estão disponíveis no CDT.
— CCoder

23

O que funciona:

Altere os gatilhos de ativação automática para .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

É improvável que você digite qualquer outra coisa para iniciar o auxílio.


23
PS Uma pequena parte de mim morreu fazendo isso.
— Asti

A respeito " "? Um espaço?
— Xonatron

Para isso você tem Ctrl + Espaço! Além disso, o espaço não aciona o InteliiSense.
— Asti

Mas por que não adicionar espaço na lista para acionar a "ativação automática"?
— Xonatron

Você não precisa delimitar a lista com vírgulas e pode querer adicionar ABCDEF etc. Na verdade, aqui está a string inteira .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.
— Callum Rogers

12
  1. Janela -> Preferências
  2. Java -> Editor -> Assistente de Conteúdo
  3. Altere a ativação automática de acordo com suas preferências

Você provavelmente desejará definir o atraso como 0.


2
Estas são as configurações que tenho. Eu não acho que ele irá disparar a assistência automática até que você digite ".".
— Brandon O'Rourke

Se você pode colocar vários gatilhos, você pode querer tentar colocar todas as letras nessa caixa para que funcione como VS
— Samuel

Como você adicionaria todas as letras possíveis do alfabeto a ele? ;-)
— Claus Jørgensen

@ ClausJørgensen Que problema você vê? Isso é o que Markus Keller sugere em seu comentário para eclipsar o bug 159157 mencionado por Scobal.
— Piotr Dobrogost

3
Basta definir Auto activation triggers for Javacomo .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_. Agora ele se comporta como o IntelliSense.
— Callum Rogers

4

Além disso, para que o preenchimento automático funcione em arquivos XML, faça as seguintes alterações em Preferências -> XML -> Arquivos XML -> Editor -> Assistente de Conteúdo

Na seção Ativação automática, forneça os seguintes valores

  1. Faça atraso de ativação automática (ms): 0
  2. Avisar quando esses caracteres forem inseridos: <=: ._ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

A captura de tela a seguir explica o mesmo

insira a descrição da imagem aqui

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.