Eclipse: Volltext-Autovervollständigung für Java?

8

kann ich Volltext-Autovervollständigung für Java @ Eclipse haben? Lassen Sie uns demonstrieren:

Letztes Codeelement:

%Vor%

Wie kann ich jetzt programmieren:

  

getv [Strg + Leerzeichen] .a [Enter] neu   V [Strg + Leerzeichen, Pfeil nach unten,   Enter] M [Strg + Leertaste, Eingabetaste]. text_x

Grundsätzlich schließt Eclipse das Wort "TEXT_XML" ab, wenn ich die Buchstaben "TEXT_X" zur Verfügung stelle.

Wie würde ich gerne programmieren:

  

getv [Strg + Leerzeichen] .a [Enter] neu   V [Strg + Leerzeichen, Pfeil nach unten,   Enter] M [Strg + Leertaste, Eingabetaste]. xml

und Eclipse sollte erkennen, dass ich "TEXT_XML" (Volltext-Autovervollständigung) meinte.

    
Xorty 22.04.2011, 13:24
quelle

3 Antworten

3

Soweit mir bekannt ist, gibt es keine Möglichkeit, eine Volltext-Code-Vervollständigung in der Eclipse-Einstellungsansicht zu aktivieren . Das nervt mich auch eine Weile. Ich habe ziemlich viel gegraben und ich bin ziemlich sicher, dass es keinen einfachen Weg gibt, dies zu erreichen.

Allerdings Es gibt zwei Möglichkeiten, das gewünschte zu implementieren, aber ich nehme an, dass beide viel zu viel Arbeit sind, um dieses kleine Ärgernis zu beheben.

  1. Für den JDT-Java-Completion-Vorschlagscomputer gibt es einen Eclipse-Plug-in-Erweiterungspunkt - Referenzseite Ein Beispielprojekt, das diesen Erweiterungspunkt implementiert, finden Sie in diesem Repository . Das ist ziemlich bequem, aber immer noch eine Menge Standard und langwierige Codierung.

  2. Sie können die Methode findKeywords im internen org.eclipse.jdt.internal.codeassist.CompletionEngine Klasse und kompiliere dein eigenes JDT fork. Aber aus vielen Gründen wird davon abgeraten. Zu allererst ist diese Klasse ein Monster mit 12000 Linien und es ist schwer, einfach hineinzuspringen. Und natürlich, wenn du nur einen Klotz hackst, besteht kaum eine Chance, dass dies ein offizieller Beitrag wird, also musst du dir Sorgen machen über jede Eclipse-Veröffentlichung.

Außerdem könnte es in der Zukunft einen sehr chilenischen Weg geben. Obwohl dies Ihre Anforderungen etwas übersteigen könnte.

Sehen Sie sich das Code Recommenders-Projekt an. Dieser Blog hat eine Überblick über die Projektziele Die Volltext-Autovervollständigung wird nicht speziell erwähnt, aber ich gehe davon aus, dass die zugehörigen Algorithmen sogar noch darüber hinausgehen.

Bearbeiten : Im richtigen SO-Geist behalte ich diese Antwort auf dem neuesten Stand:

Offenbar ist das Feature jetzt im Code Recommenders Plug-in implementiert. Siehe diesen Blogpost und diesen forum thread . Ich bin ziemlich überrascht, dass es nur 10 Locs brauchte. Für mich erschien der Erweiterungspunkt komplexer.

    
Jules 03.05.2011, 12:08
quelle
2

Wenn Ihre MediaType-Klasse keine große Anzahl zugänglicher Felder / Methoden enthält, können Sie einfach

verwenden %Vor%

Möglicherweise müssen Sie den Abwärtspfeil mehrmals drücken, um das gewünschte Feld auszuwählen.

    
lothar 27.04.2011 22:42
quelle
0

Ja, Sie können Vorlagen verwenden. (Fenster - & gt; Einstellungen - & gt; Java - & gt; Editor - & gt; Vorlagen)

Die grundlegende Verwendung besteht darin, dass Sie den Namen für das eingeben, was Sie eingeben möchten, und Sie legen das Muster auf das fest, was Sie anzeigen möchten.

In meinem Test habe ich den Namen auf xml , den Kontext auf Java , das Muster auf TEXT_XML und Automatisch einfügen gesetzt. Als ich dann dein Beispiel tippte, konnte ich einem Muster folgen wie ...

getv[ctrl+space].a[enter]new V[ctrl+space, down arrow, Enter]M[ctrl+Space, Enter].xml[ctrl+space]

und seit Automatisch einfügen wurde poof TEXT_XML wurde eingefügt.

Vorlagen haben viel mehr Funktionen als das und die einzige Quelle, die ich für diese Antwort verwendet habe, war Effective Eclipse .

Ich hoffe, das hilft!

    
Shaded 02.05.2011 19:11
quelle

Tags und Links