有什么方法可以在Intellij中使用默认标记值Live templates
吗?例如,我有以下实时模板,该模板声明一个私有变量,几乎要为每个类创建一个私有变量:
private static final Logger logger = Logger.getLogger($CLASS$.class)
似乎$CLASS$
每次使用此实时模板时都无需键入,因为它可以从作用域或文件名中的类派生。我想知道是否可以在实时模板中使用环境定义的令牌作为默认值?
Answers:
log4j:
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger($CLASS_NAME$.class);
slf4j:
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);
确保将适用的上下文设置为Java,并缩短FQ名称并跳过(如果已定义)。
$CLASS_NAME$
使用类名自动填充变量,您需要将与$CLASS_NAME$
变量关联的“表达式”设置为className()
。有关屏幕截图,请参见CrazyCoder的答案。
log4j 2:
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger($CLASS_NAME$.class);
$CLASS_NAME$
使用类名自动填充变量,您需要将与$CLASS_NAME$
变量关联的“表达式”设置为className()
。有关屏幕截图,请参见CrazyCoder的答案。