Schablonenvariablen können im Schablonenmuster verwendet werden. Variablen werden in ihren konkreten Wert aufgelöst, wenn die Schablone in ihrem Kontext ausgewertet wird. Variablen können durch einfache oder vollständige Syntax angegeben werden:
${array}
Dies definiert eine Variable mit dem Namen array
, die in ein Array aufgelöst wird. Auf sie kann als solche mehrfach verwiesen werden.
${it:var(java.util.Iterator)}
Dies definiert eine Variable mit dem Namen it
, die in eine lokale Variable des Typs java.util.Iterator
aufgelöst wird. Auf sie kann mehrfach verwiesen werden, indem einfach ihr Name ohne den Typ ${it}
angegeben wird.
Argumente für eine vollständige Variable können wörtlich geschrieben werden, wenn es sich um qualifizierte Namen oder Ganzzahlen handelt. Wenn ein Argument andere Zeichen oder Leerzeichen enthält, muss es in einfache Anführungszeichen (''
) eingeschlossen werden.
Gibt es mehrere mögliche Übereinstimmungen für eine Variable, können sie dem Benutzer als Vorschläge angeboten werden.
Sowohl Java- als auch Javadoc-Kontext definiert die folgenden Variablen:
Variable | Beschreibung |
---|---|
${cursor} | Gibt die Cursorposition bei Verlassen des Bearbeitungsmodus für Schablonen an. Dies ist hilfreich, wenn der Cursor beim Verlassen des Bearbeitungsmodus für Schablonen an eine andere Stelle als an das Ende der Schablone springt. |
${date} | Wertet das aktuelle Datum aus. |
${dollar} | Die Auswertung ergibt das Dollarsymbol ($ ). Alternativ können auch zwei Dollarzeichen verwendet werden: $$ |
${enclosing_method} | Die Auswertung ergibt den Namen der einschließenden Methode. |
${enclosing_method_arguments} | Die Auswertung ergibt eine durch Kommata gegliederte Liste mit den Argumentnamen der einschließenden Methode. Diese Variable kann nützlich sein, wenn für viele Methoden Protokollanweisungen generiert werden. |
${enclosing_package} | Die Auswertung ergibt den Namen des einschließenden Pakets. |
${enclosing_project} | Die Auswertung ergibt den Namen des einschließenden Projekts. |
${enclosing_type} | Die Auswertung ergibt den Namen des einschließenden Typs. |
${file} | Die Auswertung ergibt den Namen der Datei. |
${line_selection} | Die Auswertung ergibt den Inhalt aller aktuell ausgewählter Zeilen. |
${primary_type_name} | Die Auswertung ergibt den Namen des primären Typs der aktuellen Kompiliereinheit. |
${return_type} | Die Auswertung ergibt den Rückgabetyp der einschließenden Methode. |
${time} | Die Auswertung ergibt die aktuelle Uhrzeit. |
${user} | Die Auswertung ergibt den Benutzernamen. |
${word_selection} | Die Auswertung ergibt den Inhalt der aktuellen Textauswahl. |
${year} | Die Auswertung ergibt das aktuelle Jahr. |
Der Java-Kontext definiert zusätzlich die folgenden Variablen. Hinweis: In der folgenden Tabelle ist id ein durch den Benutzer gewählter Name für eine neue Variable.
Variable | Beschreibung |
---|---|
${id:field(type[,type]*)} | Das Ergebnis der Auswertung ist ein Feld im aktuellen Bereich, das einen Subtyp eines der angegebenen Typen darstellt. Falls kein Typ angegeben ist, erfüllen alle Felder nicht primitiven Typs die Bedingung.
Beispiel: |
${id:var(type[,type]*)} | Das Ergebnis der Auswertung ist ein Feld, eine lokale Variable oder ein Parameter, das/die/der im aktuellen Bereich angezeigt wird und einen Subtyp eines der angegebenen Typen darstellt. Falls kein Typ angegeben ist, erfüllen alle Variablen nicht primitiven Typs die Bedingung.
Beispiel: |
${id:localVar(type[,type]*)} | Das Ergebnis der Auswertung ist eine lokale Variable oder ein Parameter, die/der im aktuellen Bereich angezeigt wird und einen Subtyp eines der angegebenen Typen darstellt. Falls kein Typ angegeben ist, erfüllen alle lokalen Variablen nicht primitiven Typs die Bedingung.
${array} ist ein Direktaufruf für ${array:localVar('java.lang.Object[]')}, stimmt aber auch mit Arrays der primitiven Typen überein. |
${id:argType(variable, n)} |
Das Ergebnis der Auswertung ist ein Argument des Typs nth der Schablonenvariablen, auf die verwiesen wird. Der Verweis sollte der Name einer anderen Schablonenvariablen sein. Wird in java.lang.Object aufgelöst, falls die Variable, auf die verwiesen wird, nicht gefunden wird oder einen Typ ohne Parameterangabe hat.
Beispiel: |
${id:elemType(variable)} | Das Ergebnis der Auswertung ist ein Elementtyp der Schablonenvariablen, auf die verwiesen wird.
Der Verweis sollte der Name einer anderen Schablonenvariablen sein, die in einen Bereich oder eine Instanz von java.lang.Iterable aufgelöst wird.
Der Variablentyp elemType ähnelt ${id:argType(reference,0)} , jedoch mit dem Unterschied, dass er auch den Elementtyps eines Bereichs auflöst.
${array_type} ist ein Direktaufruf für ${array_type:elemType(array)}. |
${id:newName(reference)} | Das Ergebnis der Auswertung ist ein konfliktfreier Name für eine neue lokale Variable des Typs, der durch den Verweis angegeben wird. Der Verweis kann entweder ein Java-Typname oder der Name einer anderen Schablonenvariablen sein. Der generierte Name folgt den Einstellungen für die Codedarstellung.
${index} ist ein Direktaufruf für ${index:newName(int)}. |
${id:newType(qualifiedTypeName)} | Das Ergebnis der Auswertung ist ein Typname anhand des vollständig qualifizierten Java-Typnamens.
Die Auswertung ergibt einen einfachen Typnamen und einen Import, falls kein Konflikte verursachender Typ vorhanden ist. Andernfalls ergibt die Auswertung einen vollständig qualifizierten Typnamen.
Beispiel: |
${:import(type[,type]*)} |
Fügt eine Importanweisung für jeden Typ hinzu. Es erfolgt keine Aktion, wenn der Import bereits vorhanden ist. Es erfolgt keine Aktion, wenn ein Konflikt verursachender Import vorhanden ist.
Die Auswertung ergibt keinen Wert.
Beispiel: |
${:importStatic([qualifiedName[,qualifiedName]*])} |
Fügt jedem qualifizierten Namen, der noch nicht importiert ist, eine Anweisung für statischen Import hinzu.
Das Element qualifiedName gibt den vollständig qualifizierten Namen eines statischen Feldes oder einer statischen Methode oder aber den qualifizierten Namen eines Typs mit dem Suffix .* an, das in einfachen Anführungszeichen ('' ) steht. Es erfolgt keine Aktion, wenn ein Konflikt verursachender Import vorhanden ist.
Die Auswertung ergibt keinen Wert.
Beispiel: |
${id:link(proposal[,proposal]*)} |
Das Ergebnis der Auswertung ist id. Wenn die Liste der Vorschläge leer ist, ist ansonsten das Ergebnis der Auswertung der erste Vorschlag.
Der ausgewertete Wert wird in den verlinkten Modus versetzt.
Ein Vorschlagsfenster zeigt alle gegebenen Vorschläge an.
Beispiel: |
${array} | Die Auswertung ergibt einen Vorschlag für einen im aktuellen Bereich angezeigten Bereich. |
${array_element} | Die Auswertung ergibt einen Namen für eine neue lokale Variable für ein Element der Variablenübereinstimmung ${array}. |
${array_type} | Die Auswertung ergibt den Elementtyp der Variablenübereinstimmung ${array}. |
${collection} | Die Auswertung ergibt einen Vorschlag für eine im aktuellen Bereich angezeigte Objektgruppe. |
${exception_variable_name} | Name von Variablen für Ausnahmebedingung in catch-Blocks. |
${index} | Die Auswertung ergibt einen Vorschlag für einen nicht deklarierten Bereichsindex. |
${iterator} | Das Ergebnis der Auswertung ist ein unbenutzter Name für eine neue Variable des Typs java.util.Iterator . |
${iterable} | Die Auswertung ergibt einen Vorschlag für ein Iterable oder einen Bereich, der im aktuellen Bereich angezeigt wird. |
${iterable_element} | Die Auswertung ergibt einen Namen für eine neue lokale Variable für ein Element der Variablenübereinstimmung ${iterable}. |
${iterable_type} | Die Auswertung ergibt den Elementtyp der Variablenübereinstimmung ${iterable}. |
${todo} | Die Auswertung ergibt einen Vorschlag für den aktuell angegebenen Standard-Task-Tag. |
Schablonen bearbeiten
Benutzervorgabenseite 'Schablonen'
Java-Inhaltshilfe
Benutzervorgaben für Task-Tags
Benutzervorgaben für Codeschablonen
Benutzervorgaben für Codedarstellung