it-swarm.com.de

Eclipse-Autovervollständigungsproblem

Ich habe gerade Eclipse Helios (Win7 64) installiert und ich habe ein seltsames Problem. Ich gebe syso-Ctrl-Space ein, von dem erwartet wird, dass er zu System.out.println ("") abgeschlossen wird, aber es funktioniert nicht! Ich habe jetzt ungefähr eine Stunde lang im Internet gesucht und die Voreinstellungen> Java> Editor> Content Assist auf die Standardwerte gesetzt. Alles andere scheint zu funktionieren. Ideen?
Um es klar zu sagen: Die Abkürzung funktioniert, sie vervollständigt alles, bis auf "syso", wie bisher gesehen. Auf syso (auch "sysout" versucht) steht "No Default Proposals". Diese Art von Verknüpfungen konnte ich im Content Assist nicht finden, aber ich habe sie trotzdem als Standard festgelegt.

14
Eugene Marin

Wenn Sie immer noch keine automatische Vervollständigung erhalten können, aktivieren Sie das Menü Vorlagenvorschläge unter Inhaltshilfe . Dies ist der genaue Speicherort.

Windows->Preferences->Java->Editor->Content Assist->Advanced

Stellen Sie sicher, dass Sie nur einen Eintrag für syso (Unter Vorlagen Menü) haben.

17
PraveenMax

Ich glaube, die richtige Vorlage ist "sysout" und ich glaube, dass dies irgendwo konfiguriert werden kann, aber ich konnte Ihnen nicht sagen, wo. Probieren Sie sysout und dann Strg + Leertaste Aus. Es ist eine Vorlage, unter der Sie alle Vorlagen finden 

Fenster -> Einstellungen -> Java -> Editor -> Vorlagen

Dort sehen Sie, dass der Vorlagenname "sysout" ist. Dies löst dann die Zeichenkettenersetzung für System.out.writeln () aus. Sie können jedoch sowohl den Vorlagennamen (wenn Sie syso bevorzugen) als auch den durch Aufrufen erzeugten Code ändern Die Vorlage

Prost

8
Peter Perháč

Ich benutze Eclipse Galileo und hatte das gleiche Problem. Auch nach dem Ausprobieren der oben vorgeschlagenen Lösungen funktionierte es nicht. Nachdem Sie die unten genannten Änderungen vorgenommen haben, wird es endlich herausgegeben.

  1. Gehen Sie zu Windows-> Einstellungen-> Java-> Editor-> Vorlagen
  2. Wählen Sie die Sysout-Vorlage und bearbeiten Sie sie.
  3. Ändern Sie den Kontext von der Java-Anweisung in Java.

Und es hat für mich funktioniert. Ich hoffe, das wird für Sie hilfreich sein. 

4
Binay Sharma

Wie Peter sagte, ist es unter Fenster -> Java -> Editor -> Vorlagen. Suchen Sie nach der Zeile mit den folgenden Werten.

sysout "Java Statements" "Standardausgabe" "ein"

die Vorschau sollte wie folgt aussehen ...

System.out.println(${Word_selection}${});${cursor}
3
Bill

Ihr Cursor muss sich an einem Ort befinden, an dem es legal wäre, diese Zeile zu erhalten. Wenn sich der Cursor in einer Methodendefinition befindet und Sie syso eingeben, erhalten Sie den Ersatz. Befindet sich der Cursor jedoch in einem Teil des Textes außerhalb einer Methodendefinition, beispielsweise wenn Sie Variablen für Ihre Klasse deklarieren, schlägt syso keine illegale Zeile system.output.println (); vor. 

Ich hatte dieses Problem, las alle Antworten hier und wurde überzeugt, dass es in meiner Kopie MÜSSEN muss, und erkannte, dass ich syso UNTEN das Schließen meiner letzten Methode anstelle der Methode eingegeben hatte. 

Eclipse on!

1
mwengler

Gehen Sie einfach zur folgenden Adresse:

Windows-> Einstellungen-> Java-> Editor-> Content Assist-> Advanced

und klicken Sie auf Standard wiederherstellen .......... das ist alles 

seine Arbeit ist wieder wie ein Zauber.

1
Mayank Nema

Sie können versuchen, die Verknüpfung von Content Assist mit ALT + L festzulegen. Wenn dies funktioniert, können Sie Ihre bevorzugte Verknüpfung erneut auswählen. (Die Tastenkombination Strg + Leertaste steht in Konflikt mit der Tastenkombination der Eingabemethode). In Eclipse unter Linux ist die Verknüpfung von Word Completion ALT + /. Wenn Sie dies als Verknüpfung von Content Assist festlegen, kommt es auch zu Konflikten.)

1
cfh008

Überprüfen Sie auch dieses Eclipse-Menü: Windows -> Voreinstellungen -> Java -> Darstellung -> Typfilter

Wenn Sie hier Java.* oder javax.* sehen, versuchen Sie es zu entfernen (oder Restore Default erledigt den Job) und sehen, dass es funktioniert.

0
Imran

Möglicherweise haben Sie überlappende Kurzbefehle. Wechseln Sie zu "Übersicht" und nicht zum Unterabschnitt "Schlüssel". Geben Sie "Strg + Leerzeichen" in den Abschnitt "Filtertext" ein. Sie sollten die "Inhaltshilfe" und wahrscheinlich einen anderen Befehl mit derselben Verknüpfung sehen. Wenn eine andere Verknüpfung vorhanden ist, ändern Sie die Verknüpfung in eine andere.

0

DIRTY WORKAROUND: Sie können den folgenden AutoHotkey-Code ausprobieren, wenn Sie immer noch so kämpfen wie ich (STILL konnte es nicht selbst beheben)

#persistent
#ifwinactive ahk_class SWT_Window0  ; Eclipse Java
:*:syso::
sendraw System.out.println()`;
loop, 2
    send {left}
return
#ifwinactive

Sie müssen dies in eine .ahk-Datei schreiben und ausführen (AutoHotkey muss installiert sein). Sie können diese Datei in Ihrem Startordner ablegen. Es ist ein sehr nützliches Werkzeug. Vielleicht möchten Sie es eines Tages erweitern.

0
Blauhirn

Ich habe gerade die Lösung für Eclipse Luna gefunden: Schreiben Sie syso und drücken Sie STRG + Leertaste, und klicken Sie auf "Enable Intelligent Code Completion", und Sie sind fertig. Ich bin sicher, Sie finden sie auch irgendwo in den Optionen, aber auf diese Weise es geht schnell und einfach!

0
Georgi