2013-06-19 14 views
33

Oto szablon Eclipse, który chcę portu:Tworzenie nowych live-szablony z wypowiedzi importowych w IntelliJ IDEA

${:import(org.apache.log4j.Logger)} 
private static final Logger LOG = Logger.getLogger(${enclosing_type}.class); 

Moja obecna wersja pomysł jest w następujący sposób:

private static final Logger LOG = Logger.getLogger($CLASS_NAME$.class);$END$ 

gdzie $CLASS_NAME$ jest skonfigurowany do używania className() jako swojego wyrażenia.

Niestety, nie znajduję żadnej dokumentacji na temat dodawania instrukcji import. Czy jest coś podobnego do Eclipse ${:import(...)}?

Odpowiedz

74

Zdaje się, że zgodnie z this post używane są wyłącznie wyrażenia o pełnej kwalifikacjach. Próbowałem to i to pracował dla mnie:

private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger($CLASS_NAME$.class);$END$ 

IDEA automatycznie skraca go i dodaje niezbędnych deklaracji przywozowych są:

import org.apache.log4j.Logger; 
// ... 
private static final Logger LOG = Logger.getLogger(MyClass.class); 
+3

Tu byłem denerwować się, ponieważ nie mogłem zrozumieć, dlaczego IntelliJ nie generuje właściwie odpowiedniego importu. Twoja sugestia nie tylko spełniła to, czego próbowałem, ale jest lepsza niż to, na co liczyłem. W ten sposób jest bardziej jednoznaczny i nie ma miejsca na niejasności. Miły! –

-1

Dla Apache Commons zalogowaniu użytku:

private static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog($CLASS_NAME$.class);$END$