Eclipse Intellisense?

89

Wie kann ich Eclipse anweisen, während der Eingabe automatisch Vorschläge zu machen? Ich suche nach einer Visual Studio Intellisense-ähnlichen Funktion mit Resharper.

Derzeit muss ich jedes Mal CTRL+ drücken Space.

Ian Vink
quelle

Antworten:

78

Sie müssen nicht CTRL* drücken, spaceaber möglicherweise ist die Verzögerung zu groß oder Sie mögen den Auslöser nicht (Standard ist '.'). Gehe zu

Fenster -> Einstellungen -> Java / Editor / Content Assist

Und ändern Sie die Einstellungen unter Automatische Aktivierung nach Ihren Wünschen.

Wenn dies für Windows-Benutzer nicht funktioniert, wird diese Antwort angezeigt .

Daff
quelle
1
Benutzer Kevin Rossi versuchte zu bearbeiten, um darauf hinzuweisen (was wirklich ein Kommentar ist): "Dies funktioniert nicht mit der Eclipse Juno C / C ++ - Distribution"
Denys Séguret
Jeder Editor in Eclipse verfügt möglicherweise über eigene Auslöser für die automatische Aktivierung. Die Aktivierung derselben Zeichen ist in keiner Sprache sinnvoll.
Nitind
In Mac ist esADT -> Preferences -> Java/Editor/Content Assist
Adil Malik
169

Ich komme dem VisualStudio-ähnlichen Verhalten näher, indem ich den "Autocomplete Trigger for Java" auf setze

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

und Setzen der Verzögerung auf 0.

Jetzt möchte ich wissen, wie ich den Methodennamen automatisch vervollständigen kann, wenn ich drücke (wie es Intellisense von VS tut.

Tony
quelle
1
Welche Version von Eclipse ist das? Im Textfeld "Automatische Aktivierung wird für Java ausgelöst" kann ich nur 4 Zeichen eingeben.
Zesty
3
Das funktioniert sehr gut. Viel besser, da jetzt tatsächlich lokale Variablen und alles angezeigt werden. Vielen Dank! @ HappyCoder4U Das hilft vielleicht nicht, aber ich verwende Eclipse 3.7M5.
Howler
2
Du bist ein Genie :) Keine solche Einstellung für Nicht-Java-Sprachen :(
Ivan G.
1
Genial. Danke dir! Unter Verwendung von Eclipse unter Mac (3.6.1) lautet der Parametername '
Automatische
4
Alles hat funktioniert, aber jetzt bekomme ich ein sehr irritierendes Verhalten: Angenommen, ich möchte "private int counter" eingeben. Ich beginne mit privat und die automatische Vervollständigung beginnt mit einigen Vorschlägen (der erste ist PrivateCredentialPermission). Wenn ich mit der Eingabe von private fertig bin und "Leertaste" drücke, wird PrivateCredentialPermission eingefügt. Wie kann man das umgehen?
VM4
41

Tony ist ein reines Genie. Um jedoch eine noch bessere automatische Vervollständigung zu erzielen, versuchen Sie, die Auslöser folgendermaßen einzustellen:

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

(speziell in der Reihenfolge der Verwendung für eine schnellere Leistung angeordnet :)

d3dave
quelle
2
Diese Methode führt einige Fehler ein. Wenn ich zum Beispiel tippe =, würde es sofort etwas vorschlagen. Wenn ich die Leertaste drücke, = wird automatisch die erste Übereinstimmung eingefügt.
theGreenCabbage
Das Überprüfen des Java-Vorschlags, des Java-Typ-Vorschlags und des Java-Nicht-Typ-Vorschlags und das Verschieben der Reihenfolge nach oben hat für mich funktioniert.
Shailendra Singh Rajawat
In dieser Stapelüberlauffrage finden Sie einige Lösungen für das Speicherplatzproblem: stackoverflow.com/questions/14297735/…
William Dutton
Alle Sonderzeichen machen die Intellisense bis auf den Punkt verrückt. Wenn Sie nach der Eingabe eines Zeichens niemals möchten, dass es Intellisense wird, möchten Sie es grundsätzlich nicht in dieser Liste haben.
Andrew
6

Wenn es nicht funktioniert, auch wenn Sie Code Assist bereits aktiviert haben, sind die Konfigurationsdateien von Eclipse wahrscheinlich beschädigt. Eine Lösung, die für mich (unter Eclipse 3.5.2) funktioniert hat, war:

  1. Schließen Sie Eclipse.
  2. Benennen Sie das Arbeitsbereichsverzeichnis um.
  3. Starten Sie Eclipse. (Dadurch wird ein neues Arbeitsbereichsverzeichnis erstellt.)
  4. Importieren Sie (mit Kopie) die Java-Projekte aus dem alten Arbeitsbereich.
Rok Strniša
quelle
Es wurde auch für mich behoben
Kenci
Schöne Lösung, es war wirklich hilfreich für mich, meine Eclipse konnte nach (.) Keine Intelligenz mehr zeigen, ich musste 3 Mal Strg + Leertaste verwenden, um sie zu zeigen. Danke für die nette Lösung :-)
Muhammad
3

Ich hatte einmal das gleiche Problem, und dann habe ich es gesucht und gefunden und es hat bei mir funktioniert:

Ich hatte einige der Kästchen deaktiviert, also überprüfte ich sie erneut, dann funktionierte es. Geh einfach zu

Windows> Einstellungen> Java> Editor> Inhaltsassistent> Erweitert

und aktivieren Sie die gewünschten Kontrollkästchen.

user3074382
quelle
3

Die Antwort von d3dave ist cool. TheGreenGarbage erwähnte jedoch ein Problem, das ich ebenfalls ziemlich nervig finde. Hier ist also eine, die nicht sofort etwas nach dem Zeichen '=' und beim Eingeben eines Leerzeichens vorschlägt:

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

Was ich getan habe, war einfach das Leerzeichen und '=' Zeichen aus dem Array zu entfernen :)

Alternativ, wenn Sie Vorschläge bei der Eingabe von Leerzeichen wünschen, jedoch nicht nach dem Zeichen '=':

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&
MuhsinFatih
quelle
Dies sollte die akzeptierte Antwort sein. Dies führt jedoch zu einer gewissen Verzögerung.
Neil Chowdhury