1 背景
Java开发过程中往往需要编写固定格式的代码,比如声明私有变量、logger或者bean等。对于这种小规模的代码生成,我们可以使用IDEA提供的Live Templates功能。一开始我以为它只是一个简单的Code Snippet,后来发现它支持变量函数配置,可以支持非常复杂的代码生成。下面介绍一下Live Templates的用法。
2 基本使用
IDEA自带很多常用的动态模板,在Java代码中输入fori,回车会出现:
按 Tab 跳入每个空白并手动填写值。
更多 IDEA 操作如下:
3 自定义模板
毕竟官方内置的模板不能满足我们个人编码风格的需求。Live Templates 提供了可变函数供我们自定义。
简单用法
添加自定义模板,首先需要填写触发词(即Abbreviation),描述可选,然后定义模板的上下文,点击define选择Java,这样编辑Java的时候就会触发当前模板,定义好上下文后,就可以填写模板了。
比如定义一个私有变量:
通过输入 privateField 就可以输出以下代码:
模板支持定义变量,$$包围的字符代表一个变量。$END$ 是一个特殊的预定义变量,表示光标最后跳转的位置。每个变量的位置都可以跳转到。
4 进阶用法
如果你用过vim的Code Sinppet插件,你会发现函数可以在模板中执行,当然强大的Live Templates也支持,IDEA可以感知代码的语义,比如参数当前编辑的功能。但这就是让我们玩得开心的原因。我们从易到难探索模板函数的功能。
前面我们提到的变量可以绑定到函数上,配置方法如上图所示。
- 快速声明变量
声明变量是一个常见的操作,尤其是需要声明需要注解的变量时。注释的时候,这些代码写起来很枯燥。这是我定义的模板:
- logger 的快速声明
声明 logger 也是一个常见的操作。现在我们使用一个函数 className() 来实现。顾名思义,它的作用就是返回当前的类名。
5 总结
上面我们简单介绍了常用的模板函数。其实IDEA还有很多其他的模板函数。有关详细信息,请参阅创建和编辑模板变量。IDEA 是一个非常强大的工具。善用工具可以大大提高工作效率,把精力集中在关键的事情上,而不是把时间浪费在写重复的代码上。一些更高级的用法还有待发现。好好利用它,也可以省下很多重复写代码的时间。