2013-06-19 5 views
33

Вот шаблон Eclipse, который я хочу порт:Создание новых живых-шаблонов с операторов импорта в IntelliJ IDEA

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

Моя текущая версия в IDEA выглядит следующим образом:

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

где $CLASS_NAME$ сконфигурирован для использования в качестве его выражения className().

К сожалению, я не могу найти документацию по добавлению оператора импорта. Есть ли эквивалент Eclipse ${:import(...)}?

ответ

74

Согласно this post, он предназначен для использования только полностью определенных выражений. Я попробовал его, и это работает для меня:

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

IDEA автоматически сокращает его и добавляет необходимые операторы импорта:

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

Здесь я был все расстроены, потому что я не мог понять, почему IntelliJ не _magically_ генерирует соответствующий импорт. Мало того, что ваше предложение выполнило то, что я пытался, это лучше, чем я надеялся. Таким образом, он более ясен, и нет места для двусмысленности. Ницца! –

-1

Для апача Commons Logging использования:

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