天天看点

编程小技巧之 IDEA 的 Live Template

合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也。

使用自动化工具可以减少自己的工作量,提高工作效率。日常编程过程中,我们经常需要编写重复的代码片段,比如说

每次编写时都要键入很多键,有什么方法可以快速生成这段代码呢?类似的,如何保存格式固定的常用代码片段,然后在需要时快速生成呢。IDEA 的 Live Template 是一个可行的途径。

我也是最近才逐渐使用 IDEA 的 Live Template 功能,之前虽然知道这个功能,但是没有养成使用的习惯。最近一段时间在不断审视并反思自己的编程、工作和生活习惯,才发现其中有很多可以优化精进的地方。

这也是《程序员修炼之道》中所说的 Think ! About Your Work 。

IDEA 是一个很强大的编程工具,学会使用它能够极大的提高工作效率,将精力投入到更关键的事情上,而不是将时间浪费在编写重复代码上面。

而作为 Java 程序员,令人苦恼的地方是 Java 开发过程中经常需要编写有固定格式的代码,例如说声明一个私有变量,Logger 或者 Bean 等等。对于这种小范围的代码生成,我们可以利用 IDEA 提供的 Live Templates 功能。

Live Template 并不是简单的 Code Snippet,它甚至支持 Groovy函数配置,可以编写一些复杂的逻辑,支持很复杂的代码生成。

IDEA 自带很多常用的动态模板,都是大家平常编码时的常用语句格式。比如说下面四张动图中的语句。

四张图分别是 声明静态 String 类型成员变量,判断字符串为空,for 循环和打印函数参数。

编程小技巧之 IDEA 的 Live Template
编程小技巧之 IDEA 的 Live Template
编程小技巧之 IDEA 的 Live Template
编程小技巧之 IDEA 的 Live Template

打开配置页面,进入 Live Template 选项卡,我们可以看到 IDEA 预先设置的模板配置。这些模板都是最常用的一些语句,我们先来看一下它们都是如何定义的。

编程小技巧之 IDEA 的 Live Template

缩写就是 IDEA 识别的模板的别名,就像文章开头展示的当你键入 <code>soutm</code> 时,IDEA 就会自动识别为该模板。

而应用上下文则表示该模板在什么上下文中生效。比如说上文中时一个 <code>System.out</code> 的语句,它只应该在 Java 的函数体中有效,所以它的应用上下文设置为 <code>Java:statement</code>,在其他类型文件或者 Java 文件的成员变量声明位置都无法使用该模板。

编程小技巧之 IDEA 的 Live Template

模板内容就是你按下 Tab 键之后,IDEA 自动生成的内容,它一般包含两个部分,纯文本和参数。参数可以进行值绑定,还支持光标的自动跳转。如同上文所示, <code>$CLASS_NAME$</code> 和 <code>$METHOD_NAME$</code>就是参数,而 <code>$END$</code>是一个特殊的参数,它表示光标最后一个跳转的位置。

而参数设置就是设置这些参数的值,可以使用 IDEA 提供的一些内置函数,还可以使用强大的 Groovy 脚本。去 IDEA 的官网可以查看这些函数的具体作用。

编程小技巧之 IDEA 的 Live Template

我们这里讲解一下 <code>groovyScript("groovy code",arg1)</code> 的使用。它能提供一切你想要的能力,它支持执行 Groovy 脚本处理输入,然后输出处理后的字符串

比如之前打印函数参数的模板是这样定义的。

编程小技巧之 IDEA 的 Live Template

<code>methodParameters</code> 是 IDEA 内置的函数,它返回的结果作为参数输入到 Groovy 的脚本中,生成打印参数函数的字符串。

感谢大家的阅读,希望大家继续关注,也可以留言分享你最喜欢使用的编程工具和编程小技巧。

编程小技巧之 IDEA 的 Live Template