Ctrl-Space w Eclipse bez naciskania Ctrl-Space

93

Właśnie zacząłem używać Eclipse i zauważyłem, że kiedy zaczynam wpisywać nazwę zmiennej lokalnej, nie pojawiają się sugestie, jak robi to Visual Studio, dopóki nie naciśnę Ctrl+ Space. Czy jest jakiś sposób, aby zrobić to automatycznie? Znajduję Ctrl+ Spaceniezręczne naciśnięcie klawisza.

Brandon O'Rourke
źródło
4
Mam nadzieję, że w końcu zostanie „rozwiązana” przez poprawkę błędu. Też tego chcę. Nie pamiętam nawet, skąd wiem o CTRL-Space. Czy wywołuje to w programie Visual Studio?
Xonatron

Odpowiedzi:

165

Te błędy (i rozwiązanie, jeśli używasz Eclipse> 3.4) mogą Cię zainteresować:

A.Zezwalaj na więcej wyzwalaczy postaci, jak powiedział @Samuel (naprawiono w 3.4 i nowszych):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=159157 dodaj poniższe znaki do aktywnej zawartości w Preferencjach

Zmień domyślne ustawienie wyzwalaczy automatycznej aktywacji dla języka Java na._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

B. Zezwalaj na automatyczne udostępnianie treści wszędzie (nie naprawiono):

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

Mark Pope
źródło
31
Więc błąd sprzed 4 i pół roku, który powodowałby, że Eclipse działał jak Visual Studio, nie został jeszcze naprawiony? Wszelkie pomysły, dlaczego przełożyli funkcję, która imo. jest ważniejsze niż cokolwiek innego, co zrobili przez ostatnie 4 lata.
Claus Jørgensen
1
Może jest inny błąd, który przegapiłem ... Myślę, że to zaćmienie funkcji powinno też prawdopodobnie mieć.
Mark Pope
Więc myślę, że odpowiedź brzmi, że ta funkcja nie istnieje i jest to błąd?
Brandon O'Rourke
3
Ciekawe, 4,5-letni błąd, a to było 4 lata temu ...? Musiałem zastosować to dla xml, a java nadal nie jest naprawiona.
MDMoore313
3
Masz jakiś pomysł, co może zrobić użytkownik CDT? Te opcje nie są dostępne w CDT.
CCoder
23

Co działa:

Zmień wyzwalacze automatycznej aktywacji na .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

Prawdopodobnie nie wpiszesz niczego innego, aby uzyskać pomoc.

Asti
źródło
23
PS. Mała część mnie właśnie umarła, robiąc to.
Asti
Co powiesz na " "? Przestrzeń?
Xonatron
Do tego masz Ctrl + Spacja! Ponadto miejsce nie wyzwala InteliiSense.
Asti
Ale dlaczego nie dodać spacji na liście, aby wywołać „automatyczną aktywację”?
Xonatron
Nie musisz ograniczać listy przecinkami i możesz chcieć dodać ABCDEF itp. W rzeczywistości tutaj jest cały ciąg .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.
Callum Rogers
12
  1. Okno -> Preferencje
  2. Java -> Editor -> Content Assist
  3. Zmień automatyczną aktywację zgodnie ze swoimi preferencjami

Prawdopodobnie będziesz chciał ustawić opóźnienie na 0.

Yuval Adam
źródło
2
Oto ustawienia, które mam. Nie sądzę, aby uruchomił automatyczną pomoc, dopóki nie wpiszesz „.”.
Brandon O'Rourke,
Jeśli możesz umieścić wiele wyzwalaczy, możesz spróbować umieścić wszystkie litery w tym polu, aby działało trochę jak VS
Samuel
Jak więc dodasz do niej każdą możliwą literę alfabetu? ;-)
Claus Jørgensen
@ ClausJørgensen Jaki problem widzisz? To właśnie sugeruje Markus Keller w swoim komentarzu do błędu zaćmienia 159157 wspomnianego przez Scobala.
Piotr Dobrogost
3
Wystarczy ustawić Auto activation triggers for Javasię .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_. Teraz zachowuje się jak IntelliSense.
Callum Rogers
4

Aby autouzupełnianie działało również w plikach XML, wykonaj następujące zmiany w Preferencjach -> XML -> Pliki XML -> Edytor -> Asysta treści

W sekcji Automatyczna aktywacja podaj następujące wartości

  1. Ustaw Opóźnienie automatycznej aktywacji (ms): 0
  2. Monituj po wstawieniu tych znaków: <=: ._ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

Poniższy zrzut ekranu wyjaśnia to samo

wprowadź opis obrazu tutaj

Rajaraman
źródło