Proměnné šablony lze použít ve vzoru šablony. Proměnné se vyřeší na své konkrétní hodnoty, když se šablona vyhodnotí ve svém kontextu. Proměnné lze zadat pomocí jednoduché nebo úplné syntaxe:
${array}
Definuje proměnnou s názvem array
, která bude přeložena do pole. Lze se na ni takto odkazovat vícekrát.
${it:var(java.util.Iterator)}
Definuje proměnnou s názvem it
, která bude přeložena do lokální proměnné typu java.util.Iterator
. Lze se na ni jednoduše odkazovat vícekrát pomocí jejího jména bez typu: ${it}
.
Argumenty úplné proměnné mohou být zapsány doslovně, jestliže se jedná o úplné názvy nebo celá čísla. Jestliže argument obsahuje jiné znaky nebo mezery, musí být uzavřen do jednoduchých uvozovek ''
.
Existuje-li pro proměnnou více možných shod, mohou se uživateli nabídnout jako návrhy.
Kontext prostředí Java i kontext dokumentace Javadoc definují následující proměnné:
Proměnná | Popis |
---|---|
${cursor} | Určuje pozici kurzoru při opuštění režimu úprav šablony. To je užitečné v případě, že při opuštění režimu úprav šablony by měl kurzor přeskočit do jiné pozice než na konec šablony. |
${date} | Vyhodnocuje se na aktuální datum. |
${dollar} | Vyhodnocuje se na symbol dolaru $ . Jako další možnost lze použít dva znaky dolaru: $$ . |
${enclosing_method} | Vyhodnocuje se na název zapouzdřující metody. |
${enclosing_method_arguments} | Vyhodnocuje se na seznam názvů argumentů zapouzdřující metody navzájem oddělených čárkami. Tato proměnná se může hodit při generování výpisů z protokolu pro mnoho metod. |
${enclosing_package} | Vyhodnocuje se na název zapouzdřujícího balíku. |
${enclosing_project} | Vyhodnocuje se na název zapouzdřujícího projektu. |
${enclosing_type} | Vyhodnocuje se na název zapouzdřujícího typu. |
${file} | Vyhodnocuje se na název souboru. |
${line_selection} | Vyhodnocuje se na obsah všech aktuálně vybraných řádků. |
${primary_type_name} | Vyhodnocuje se na název primárního typu aktuální kompilační jednotky. |
${return_type} | Vyhodnocuje se na návratový typ zapouzdřující metody. |
${time} | Vyhodnocuje se na aktuální čas. |
${user} | Vyhodnocuje se na jméno uživatele. |
${word_selection} | Vyhodnocuje se na obsah aktuálního textového výběru. |
${year} | Vyhodnocuje se na aktuální rok. |
Kontext prostředí Java navíc definuje následující proměnné. Poznámka: V následující tabulce je id uživatelem zvolený název nové proměnné.
Proměnná | Popis |
---|---|
${id:field(typ[,typ]*)} | Vyhodnocuje se na pole v aktuálním rozsahu, které je podtypem nějakého z daných typů. Pokud není zadán žádný typ, neshodují se žádná neprimitivní pole.
Příklad: |
${id:var(typ[,typ]*)} | Vyhodnocuje se na pole, lokální proměnnou nebo parametr, které jsou viditelné v aktuálním rozsahu a které jsou podtypem nějakého z daných typů. Pokud není zadán žádný typ, neshodují se žádné neprimitivní proměnné.
Příklad: |
${id:localVar(typ[,typ]*)} | Vyhodnocuje se na lokální proměnnou nebo parametr, které jsou viditelné v aktuálním rozsahu a které jsou podtypem nějakého daného typu. Pokud není zadán žádný typ, neshodují se žádné neprimitivní lokální proměnné.
${array} je zkratka pro ${array:localVar('java.lang.Object[]')}, ale shoduje se i s poli primitivních typů. |
${id:argType(proměnná, n)} |
Vyhodnocuje se na ntý argument typu odkazované proměnné šablony. Odkaz by měl být názvem jiné proměnné šablony. Vyřeší se na java.lang.Object , pokud odkazovaná proměnná nebyla nalezena nebo není parametrizovaným typem.
Příklad: |
${id:elemType(variable)} | Vyhodnocuje se na typ prvku odkazované proměnné šablony.
Odkazem by měl být název jiné proměnné šablony, která se vyřeší na pole nebo na instanci java.lang.Iterable .
Proměnná elemType je podobná ${id:argType(odkaz,0)} s tím rozdílem, že vyřeší také typ prvku pole.
${array_type} je zkratka pro ${array_type:elemType(array)}. |
${id:newName(reference)} | Vyhodnocuje se na nekonfliktní název pro novou lokální proměnnou s typem určeným odkazem. Odkaz může být buď název typu Java, nebo název jiné proměnné šablony. Generovaný název respektuje nastavení stylu kódu.
${index} je zkratka pro ${index:newName(int)}. |
${id:newType(qualifiedTypeName)} | Vyhodnocuje se na název typu s úplným názvem typu jazyka Java.
Vyhodnocuje se na jednoduchý název typu a import, pokud neexistuje žádný typ s konfliktem. Jinak se vyhodnocuje na úplný název typu.
Příklad: |
${:import(typ[,typ]*)} |
Pro každý typ přidává příkaz importu. Pokud již import existuje, neprovede nic. V případě existence konfliktního importu neprovede nic.
Nevyhodnocuje se na nic.
Příklad: |
${:importStatic([qualifiedName[,qualifiedName]*])} |
Přidá příkaz statického importu pro každý kvalifikovaný název, který již není naimportován.
qualifiedName je úplný název statického pole nebo metody,
případně se jedná o úplný název typu a příponu .* uzavřené v jednoduchých uvozovkách '' .
V případě existence konfliktního importu neprovede nic.
Nevyhodnocuje se na nic.
Příklad: |
${id:link(návrh[,návrh]*)} |
Vyhodnocuje se na id, pokud je seznam návrhů prázdný. Jinak se vyhodnocuje na první návrh.
Vyhodnocená hodnota je dána do propojeného režimu.
Okno návrhů zobrazuje všechny dané návrhy.
Příklad: |
${array} | Vyhodnocuje se na návrh pole viditelného v aktuálním rozsahu. |
${array_element} | Vyhodnocuje se na název nové lokální proměnné pro prvek shody s proměnnou ${array}. |
${array_type} | Vyhodnocuje se na typ prvku shody s proměnnou ${array}. |
${collection} | Vyhodnocuje se na návrh kolekce viditelné v aktuálním rozsahu. |
${exception_variable_name} | Název proměnné výjimky v zachytávacích blocích. |
${index} | Vyhodnocuje se na návrh nedeklarovaného indexu pole. |
${iterator} | Vyhodnocuje se na nepoužitý název pro novou lokální proměnnou typu java.util.Iterator . |
${iterable} | Vyhodnocuje se na návrh iterovatelného prvku nebo pole viditelného v aktuálním rozsahu. |
${iterable_element} | Vyhodnocuje se na název nové lokální proměnné pro prvek shody s proměnnou ${iterable}. |
${iterable_type} | Vyhodnocuje se na typ prvku shody s proměnnou ${iterable}. |
${todo} | Vyhodnocuje se na návrh pro aktuálně uvedenou výchozí značku úloh. |
Úprava šablon
Stránka předvoleb šablon
Obsahová asistence Java
Předvolby značky úlohy
Předvolby šablon kódů
Předvolby stylu kódu