In Eclipse, nach einer Zeile wie dieser:
Listenliste = new ArrayList ();
Wenn Sie "for" direkt darunter und "ctrl-space" (standardmäßig) eingeben, werden mehrere Optionen angezeigt, mit denen Sie diese "for-Schleife" vervollständigen können:
Aber wenn die Variable "list" weit von hier deklariert ist (zB als Klassenfeld), die nicht direkt aus diesem Kontext abgeleitet werden kann, oder wenn viele Listen deklariert sind, dann funktioniert die Unterstützung nicht gut:
@@ Trennlinie ---
In manchen Fällen kann Eclipse helfen, funktioniert aber nicht für die Elementvariable. Z.B. Geben Sie "anderen" manuell ein und drücken Sie ENTER, nachdem das ":" Eclipse nicht dazu gebracht hat, darüber zu raten ....
(P.S. praktikabler Fall:
Auto erraten
Gewünschten Namen eingegeben, und ENTER, funktioniert gut
)
Hat jemand einen Tipp, um diese Hilfe in solchen Szenarien zu ermöglichen?
Was ich normalerweise mache, um die Inhaltshilfe mit for-Schleife zu lösen, ist folgendes:
Erstellen Sie eine lokale Variable, indem Sie eine weit oben deklarierte Collection-Variable und ein Semikolon eingeben:
%Vor%drücken Sie Strg + 2 L
Eclipse generiert eine neue lokale Variablendeklaration, die wie folgt aussieht:
%Vor%Geben Sie my foreach und autocomplete mit Strg + Leerzeichen ein, indem Sie Folgendes erhalten:
%Vor%Setzen Sie den Cursor in der for loop-Deklaration auf list2 und drücken Sie Alt + Shift + I, was für eine Inline-Variable steht.
Daraus ergibt sich, was Sie erreichen möchten. Der Aufwand ist nach einigen Übungen minimal:
%Vor%Ich folgte dem Tipp von Ashutosh Jindal und es gelang mir, die Vorlage zu konfigurieren, die funktioniert (getestet mit Kepler Release). Hier ist es:
%Vor%Der wichtigste Punkt war, localVar in der Template-Definition ( Eclipse-Dokumente erklären dies deutlich).
Wie man es benutzt:
Klicken Sie auf den Screenshot
Das funktioniert fast so gut wie Intellij-Vorlagen. Die Nachteile sind:
Ich habe das selbst nicht versucht, aber werfen Sie einen Blick auf die Definition der Code-Vorlage. Zum Beispiel wird die Codevorlage foreach
in den Einstellungen definiert - & gt; Java - & gt; Herausgeber - & gt; Vorlagen wie folgt:
Die Definition lautet wie folgt:
%Vor% Beachten Sie die verwendeten Variablen wie iterable_type
.
Sehen Sie sich nun diese Eclipse-Hilfeseite.
Dort ist eine Variable namens ${id:localVar(type[,type]*)}
, die wie folgt beschrieben wird:
Ein Screenshot des gleichen:
Ich glaube, dass Sie, wenn Sie den Bereich, aus dem die foreach
Vorlage ihre Variablen ableitet, erweitern möchten, müssen Sie möglicherweise die Template-Definition mit der entsprechenden Variable bearbeiten.
Lass es mich wissen, wenn das hilft. Leider habe ich mich noch nicht mit der Bearbeitung der Code-Vorlagen beschäftigt, daher kann ich kein konkretes Beispiel geben.
Tags und Links eclipse