媒介
Java 开拓进程常常需要编写有牢靠名目标代码,譬喻说声明一个私有变量,logger可能bean等等。对付这种小范畴的代码生成,昆山软件公司,我们可以操作 IDEA 提供的 Live Templates成果。刚开始以为它只是一个简朴的Code Snippet,厥后发明它支持变量函数设置,可以支持很巨大的代码生成。下面我来先容一下Live Templates的用法。
根基利用
IDEA 自带许多常用的动态模板,在 Java 代码中输入fori,回车就会呈现
for (int i = 0; i < ; i++) { }
按Tab可以在各个空缺处跳转,手动填值。
自界说 Template
官方自带模板究竟不能满意我们小我私家编码气势气魄的需要,Live Templates提供了变量函数的方法供我们自界说。
简朴用法
新增自界说模板,首先需要填写触发单词(即 Abbreviation),描写是可选的,然后界说模板的上下文,点击define选择Java,这样在编辑 Java 的时候就会触发当前模板,界说完上下文之后,就可以填写模板了。
下面罗列几个我常用的简朴模板
========== <out> ---------- System.out.println($END$) ========== <pfs> ---------- private final static String $varName$ = "$var$";` ========== <privateField> ---------- /** * $COMMENT$ */ @Getter @Setter private $TYPE$ $NAME$; ========== <main> ---------- public static void main(String[] args) { $END$ } ==========
模板支持变量的界说,利用$$困绕的字符暗示一个变量。$END$是一个非凡的预界说变量,暗示光标最后跳转的位置。每个变量的位置都可以跳转已往。
高级用法
假如你用过 vim 的Code Sinppet插件,你会发明模板内里是可以执行函数的,强大的 Live Templates虽然也支持,并且 IDEA 可以或许感知代码的语义,譬喻说当前编辑的函数的参数。但这一点就可以或许让我们玩出花来。我们从易到难来研究模板函数的成果。
前面我们提到的变量可以绑定函数,设置方法如上图所示。
快速声明变量
声明变量是一个常用的操纵,出格是需要声明变量需要加注解,注释的时候,这些代码写起来就很枯燥。下面是我界说的模板:
<osgiRef> ---------- /** * $END$ */ @OsgiReference @Setter private $TYPE$ $NAME$;
乍一看这个模板跟我上面界说的privateField差不多,独一的差异在于我给这些变量绑定了函数。
下面我们演示一下,我们先拷贝当前类名,然后输入osgiRef
快速声明 logger
声明 logger 也是一个常用的操纵,上面我们是操作了粘贴函数来快速声明变量,劳务派遣管理系统,此刻我们来操作另一个函数className(),顾名思义,它的浸染就是返回当前类名。
<logger> ---------- /** logger */ private static final Logger LOGGER = LoggerFactory.getLogger($CLASS$.class);
最强大的 groovyScript()
假如说上面用到的函数提供的本领有限,不足机动,那么groovyScript()提供了一切你想要的本领,它支持执行 Groovy 剧本处理惩罚输入,然后输出处理惩罚后的字符串。
groovyScript("code", ...) | code | 一段Groovy代码可能Groovy剧本代码绝对路径 | | ... | 可选入参,这些参数会绑定到`_1, _2, _3, ..._n`, 在 Groovy 代码中利用。|
下面我们来看一下它的实际应用。
快速 bean 设置
新增一个处事都要在 Spring 中注册一个 bean,一般这个设置无非就是将指明id和class,由于我们是在 xml 中设置,所以不能操作className()函数,可是我们可以操作clipboard()函数获取到类的全引用,在 IDEA 中我们直接右键类名,点击Copy Reference就行。然后执行 groovy 剧本获取类名。
<bean> ---------- <bean id="$id$" class="$REF$" />