一、需求背景
不想在代码里再手写类似于private static final Logger logger = LoggerFactory.getLogger(TestClass.class);的语句,提高效率。
二、解决方案
使用Idea Live Templates代码模板技术
实时模板可让您快速、高效、准确地将常用或自定义代码结构插入到源代码文件中。
三、详细步骤
Settings-->Editor-->Live Templates...
1、新建模板组(Template Group),因为好分类
2、新建模板(Live Template)
3、编写模板
Abbreviation:模板的缩略名称,如loggerDefineStatic;
Template text:模板的代码片段,可以用自定义变量。如这里的:
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);
4、自定义变量
这里我们自定义了CLASS变量(使用时需要前后都加上$),但Idea并不识别,这就需要对自定义的变量进行编辑,Edit Variables。
- Name:我们的自定义变量名称;
- Expression:变量替换表达式,这里我们使用了Idea模板支持的内置函数className()表示类名,更多的内置函数参考: Creating and Editing Template Variables
- Default value:表达式计算失败时的默认值。
5、设置应用范围
模板代码设置完后,我们还要设置其应用范围,即loggerDefineStatic在哪里会生效。
在这里我们选择java 的Statement、Expression、Declaration
6、简单验证
next
四、常用模板
1、loggerDefineStatic
private static final Logger logger = LoggerFactory.getLogger($CLASS_NAME$.class);
CLASS_NAME
className()
2、loggerDefineThis
private final Logger logger = LoggerFactory.getLogger(this.getClass());
3、logStart
logger.info("op=start_$METHOD_NAME$, $PARAMS_FORMAT$", $PARAMS$);
METHOD_NAME
methodName()
参考博客: