欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 宝鼎售后问题提交 | 后台管理


新闻资讯

MENU

软件开发知识

Live Templates提供了变量 劳务派遣信息管理系统 函数的方式供我们自定义

点击: 次  来源:昆山软开发 时间:2017-12-30

原文出处: 肖汉松

媒介

Java 开拓进程常常需要编写有牢靠名目标代码,譬喻说声明一个私有变量,logger可能bean等等。对付这种小范畴的代码生成,昆山软件公司,我们可以操作 IDEA 提供的 Live Templates成果。刚开始以为它只是一个简朴的Code Snippet,厥后发明它支持变量函数设置,可以支持很巨大的代码生成。下面我来先容一下Live Templates的用法。

根基利用

IDEA 自带许多常用的动态模板,在 Java 代码中输入fori,回车就会呈现

for (int i = 0; i < ; i++) {

}

Live Templates提供了变量 劳务调派信息打点系统 函数的方法供我们自界说

按Tab可以在各个空缺处跳转,手动填值。

自界说 Template

官方自带模板究竟不能满意我们小我私家编码气势气魄的需要,Live Templates提供了变量函数的方法供我们自界说。

简朴用法

新增自界说模板,首先需要填写触发单词(即 Abbreviation),描写是可选的,然后界说模板的上下文,点击define选择Java,这样在编辑 Java 的时候就会触发当前模板,界说完上下文之后,就可以填写模板了。

Live Templates提供了变量 劳务调派信息打点系统 函数的方法供我们自界说

下面罗列几个我常用的简朴模板

==========
<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 可以或许感知代码的语义,譬喻说当前编辑的函数的参数。但这一点就可以或许让我们玩出花来。我们从易到难来研究模板函数的成果。

Live Templates提供了变量 劳务调派信息打点系统 函数的方法供我们自界说

前面我们提到的变量可以绑定函数,设置方法如上图所示。

快速声明变量

声明变量是一个常用的操纵,出格是需要声明变量需要加注解,注释的时候,这些代码写起来就很枯燥。下面是我界说的模板:

<osgiRef>
----------
/**
 * $END$
 */
@OsgiReference
@Setter
private $TYPE$ $NAME$;

乍一看这个模板跟我上面界说的privateField差不多,独一的差异在于我给这些变量绑定了函数。

  1. clipboard():返回当前粘贴板的字符串
  2. decapitalize():将输入的字符串首字母变为小写

下面我们演示一下,我们先拷贝当前类名,然后输入osgiRef

Live Templates提供了变量 劳务调派信息打点系统 函数的方法供我们自界说

快速声明 logger

声明 logger 也是一个常用的操纵,上面我们是操作了粘贴函数来快速声明变量,劳务派遣管理系统,此刻我们来操作另一个函数className(),顾名思义,它的浸染就是返回当前类名。

<logger>
----------
/** logger */
private static final Logger LOGGER = LoggerFactory.getLogger($CLASS$.class);

Live Templates提供了变量 劳务调派信息打点系统 函数的方法供我们自界说

最强大的 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$" />