Zmiennych szablonu można używać we wzorcu szablonu. W momencie wartościowania szablonu w kontekście zmiennych w ich miejsce są wstawiane konkretne wartości. Zmienne można określić używając składni prostej lub pełnej:
${tablica}
Definiowana jest zmienna o nazwie 'tablica', która zostanie zinterpretowana jako tablica. Można się do niej odwoływać wielokrotnie.
${it:var(java.util.Iterator)}
Definiowana jest zmienna o nazwie 'it', która zostanie
zinterpretowana jako lokalna zmienna typu java.util.Iterator. Można się do niej odwoływać wielokrotnie, podając po prostu nazwę bez typu:
${it}.
Jeśli istnieje więcej możliwych dopasowań zmiennej, informacje o nich zostaną przedstawione użytkownikowi.
W środowisku Java i dokumentacji Javadoc są zdefiniowane następujące zmienne:
| Zmienna | Opis |
|---|---|
| ${cursor} | Pozwala określić pozycję kursora w momencie wyjścia z trybu edycji szablonu. Przydaje się to w sytuacji, jeśli w momencie wyjścia z trybu edycji szablonu kursor miałby przeskoczyć w miejsce inne niż koniec szablonu. |
| ${date} | Zmienna przyjmuje wartość bieżącej daty. |
| ${dollar} | Zmienna przyjmuje wartość symbolu dolara '$'. Ewentualnie można użyć dwóch znaków dolara: '$$'. |
| ${enclosing_method} | Zmienna przyjmuje wartość nazwy metody obejmującej. |
| ${enclosing_method_arguments} | Zmienna przyjmuje wartość oddzielanej przecinkami listy nazw argumentów metody obejmującej. Zmienna ta może być przydatna podczas generowania instrukcji rejestrowania dla wielu metod. |
| ${enclosing_package} | Zmienna przyjmuje wartość nazwy pakietu obejmującego. |
| ${enclosing_project} | Zmienna przyjmuje wartość nazwy projektu obejmującego. |
| ${enclosing_type} | Zmienna przyjmuje wartość nazwy typu obejmującego. |
| ${file} | Zmienna przyjmuje wartość nazwy pliku. |
| ${line_selection} | Zmienna przyjmuje wartość treści wszystkich wybranych wierszy. |
| ${primary_type_name} | Zmienna przyjmuje wartość nazwy podstawowego typu bieżącej jednostki kompilacji. |
| ${return_type} | Zmienna przyjmuje wartość typu zwracanej wartości metody obejmującej. |
| ${time} | Zmienna przyjmuje wartość bieżącej godziny. |
| ${user} | Zmienna przyjmuje wartość nazwy użytkownika. |
| ${word_selection} | Zmienna przyjmuje wartość treści wybranego tekstu. |
| ${year} | Zmienna przyjmuje wartość bieżącego roku. |
W kontekście Java są dodatkowo definiowane poniżej wymienione zmienne. Uwaga: W poniższej tabeli id oznacza wybraną przez użytkownika nazwę nowej zmiennej.
| Zmienna | Opis |
|---|---|
| ${id:field(typ)} | Zmienna przyjmuje wartość pola w bieżącym zasięgu, podtypu
podanego typu. Jeśli nie zostanie podany żaden typ, pasujące jest
dowolne niepodstawowe pole.
Przykład: |
| ${id:var(typ)} | Zmienna przyjmuje wartość pola, zmiennej lokalnej lub parametru
widocznego w bieżącym zasięgu, podtypu podanego typu. Jeśli nie
zostanie podany żaden typ, pasująca jest dowolna niepodstawowa zmienna.
Przykład: |
| ${id:localVar(typ)} | Zmienna przyjmuje wartość zmiennej lokalnej lub parametru
widocznego w bieżącym zasięgu, podtypu podanego typu. Jeśli nie
zostanie podany żaden typ, pasująca jest dowolna niepodstawowa zmienna lokalna.
${array} jest skróconą formą zmiennej
${array:localVar(java.lang.Object[])}, pasuje również do
tablic typów podstawowych. |
| ${id:argType(zmienna, n)} |
Zmienna przyjmuje wartość n-tego argumentu typu zmiennej szablonu, do
której jest odniesienie. Odniesienie powinno być nazwą innej zmiennej szablonu. Jest tłumaczone na
java.lang.Object jeśli dana zmienna nie zostanie znaleziona lub
nie jest typem sparametryzowanym.
Przykład: |
| ${id:elemType(zmienna)} | Zmienna przyjmuje wartość typu elementu zmiennej szablonu, do
której jest odniesienie.
Odniesienie powinno być nazwą innej zmiennej szablonu, tłumaczonej na tablicę
lub instancję java.lang.Iterable.
Typ zmiennej elemType jest zbliżony do
${id:argType(reference,0)},
różni się tym, że tłumaczy również typ elementu tablicy.
${array_type} jest skróconą formą zmiennej
${array_type:elemType(array)}. |
| ${id:newName(odniesienie)} | Zmienna przyjmuje wartość niepowodującej konfliktów nazwy nowej
zmiennej lokalnej typu określonego przez odniesienie. Odniesienie może
być nazwą typu języka Java lub nazwą innej zmiennej szablonu. Wygenerowana
nazwa powinna być zgodna z ustawieniami stylu kodowania.
${index} jest skróconą formą zmiennej
${index:newName(int)}. |
| ${array} | Zmienna przyjmuje wartość propozycji tablicy widocznej w bieżącym zasięgu. |
| ${array_element} | Zmienna przyjmuje wartość nazwy nowej zmiennej lokalnej elementu dopasowanej zmiennej ${array}. |
| ${array_type} | Zmienna przyjmuje wartość typu elementu dopasowanej zmiennej ${array}. |
| ${collection} | Zmienna przyjmuje wartość propozycji kolekcji widocznej w bieżącym zasięgu. |
| ${index} | Zmienna przyjmuje wartość propozycji niezadeklarowanego indeksu tablicy. |
| ${iterator} | Zmienna przyjmuje wartość nieużywanej nazwy nowej zmiennej
lokalnej typu java.util.Iterator. |
| ${iterable} | Zmienna przyjmuje wartość propozycji obiektu iterowalnego lub tablicy widocznej w bieżącym zasięgu. |
| ${iterable_element} | Zmienna przyjmuje wartość nazwy nowej zmiennej lokalnej elementu dopasowanej zmiennej ${iterable}. |
| ${iterable_type} | Zmienna przyjmuje wartość typu elementu dopasowanej zmiennej ${iterable}. |
| ${todo} | Zmienna przyjmuje wartość propozycji aktualnie podanego domyślnego znacznika czynności. |


Edycja
szablonów
Preferencje szablonów
Aktywna obsługa treści Java
Preferencje znaczników czynności
Preferencje szablonów kodu
Preferencje stylu kodu