dagblog.
← Archiv

Eclipse a drobné maličkosti — uživatelské šablony


Nejsem typ uživatele, který by s železnou pravidelnosti hraničící se sadomasochismem, prozkoumával všechny vlastnosti IDE Eclipse, a to je možná škoda. Asi málokdo neocení podporu vestavěných templates (šablon) v Eclipse a já nejsem výjimka. Přiznám se rovnou, že jsem používal pouze ty jednodušší např. sysout => System.out.println().

Eclipse umožňuje velice snadno vytvářet vlastní templaty. Tuto vlastnost jsem naplno 
ocenil při včerejším rozjímání nad usnadněním psaní testovacích metod, které jsou společné všem objektům. Specielně se mi jednalo o testovací metody pro equals a hashCode.

Všechny šablony, jak předdefinované tak uživatelské se nalézají v okně Templates viz
 Window >> Preferences >> Java >> Editor >> Templates.

Zobrazení okna pro definici a úpravu šablon
Obrázek se nepodařilo načíst. Zobrazení okna pro definici a úpravu šablon
↗ Medium

Krom předpřipravených šablon, si můžeme nadefinovat vlastní a to pro javovský kód i Javadoc. Přes magické tlačítko New se pustíme do nové šablony.

Zobrazení okna pro definici nové šablony
Obrázek se nepodařilo načíst. Zobrazení okna pro definici nové šablony
↗ Medium

Name
 
 Jméno šablony, pod kterým bude dostupná. Doporučuji něco krátkého a smysluplného.
 
 Description
 
 Textový popis šablony.
 
 Context
 
 Výběr kontextu šablony, která může být použita pro javovský kód a nebo pro Javadoc.
 
 Pattern
 
 Vlastní obsah šablony.

Při psaní šablony by se vám mohly hodit předdefinované proměnné, které se nalézají pod tlačítkem Insert variable. Tímto jsme se dostali pomalu k proměnným, které představují motor šablon. V rámci šablony si můžete definovat libovolné množství proměnných, ale jejich síla se ukáže při opakovaném použití.

Využití proměnných

${objectUnderTest} o = new ${objectUnderTest}();
try{
o.hashCode();
}catch(NullPointerException n){
fail();
}
${objectUnderTest} o1 = new ${objectUnderTest}(${objectKey});
${objectUnderTest} o2 = new ${objectUnderTest}(${objectKey});
assertTrue(o1.hashCode() == o2.hashCode());
Tato šablona vytváří kód pro testování metody hashCode pro POJO objekty. Proměnné jsou uvozeny znakem $ a jejich název je uzavřen v složených závorkách. V této šabloně jsou definovány proměnné objectUnderTest a objectKey. Při použití šablony se definování hodnoty proměnné pronese do všech deklarací, bude vidět opodál.

Aktivace šablony

Pokud máme šablonu připravenou k použití, nic nám nebrání v jejím vyvolání v editoru 
kódu. Šablona se vyvolá zápisem jejího jména a stisknutím klávesové kombinace pro doplnění (ctrl + space).
Zobrazení vyvolání kontextové nabídky pro výběr šablony dle jejího jména.
Obrázek se nepodařilo načíst. Zobrazení vyvolání kontextové nabídky pro výběr šablony dle jejího jména.
↗ Medium
Po vyvolání šablony se kolem proměnných vytvoří editovatelné boxy a přiřazení hodnoty do proměnné se pronese na všechna místa jejího užití, jak ukazuje následující obrázek (editována je proměnná objectUnderTest) .
Ukázka přiřazení hodnoty do proměnné a jejího pronesení.
Obrázek se nepodařilo načíst. Ukázka přiřazení hodnoty do proměnné a jejího pronesení.
↗ Medium

Verze na Medium

Související články

Související epizody CZ Podcastu