Wie bekomme ich Inhaltshilfe für "for loop" überall in Eclipse?

7

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?

    
James Fu 07.08.2012, 12:28
quelle

3 Antworten

3

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%
lkt 28.11.2012, 15:53
quelle
13

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:

  1. Drucken Sie den Vorlagennamen ( foreach für die Standardvorlage) und drücken Sie die Eingabetaste. Die Vorlage wird mit der von Eclipse ausgewählten Standardkollektion verwendet (die neueste deklarierte Sammlung)
  2. Drücken Sie zweimal TAB, um zum Sammelelement zu springen. Sie erhalten eine Dropdown-Liste mit allen gültigen iterierbaren Sammlungen.
  3. Wählen Sie mit den Pfeilen AUF / AB die gewünschte Sammlung aus und drücken Sie die Eingabetaste. Eclipse wird den Elementtyp und den Namen anpassen (sehr cool).

Klicken Sie auf den Screenshot

Das funktioniert fast so gut wie Intellij-Vorlagen. Die Nachteile sind:

    Die Vorlage
  • enthält keine Arrays (im Gegensatz zur Standardvorlage foreach ). Für Arrays müssen Sie eine andere Vorlage definieren.
summerian 11.07.2013 10:41
quelle
5

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:

%Vor%

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.

    
Ashutosh Jindal 07.08.2012 12:59
quelle

Tags und Links