潍坊Java培训
达内潍坊中心

18300268127

热门课程

Live Templates

  • 时间:2018-03-30
  • 发布:潍坊Java培训机构
  • 来源:互联网

    潍坊Java培训机构:Live Templates
    基本使用

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

潍坊Java培训机构

    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差不多,唯一的不同在于我给这些变量绑定了函数-潍坊Java培训班。
    clipboard():返回当前粘贴板的字符串
    decapitalize():将输入的字符串首字母变为小写
    下面我们演示一下,我们先拷贝当前类名,然后输入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$” />
    id绑定decapitalize(groovyScript(“_1.tokenize(‘.’)[-1]”, clipboard())),首先取clipboard()的值得到类的全引用,然后执行 groovy 代码_1.tokenize(‘.’)[-1](按。分割为字符串数组,然后取最后一个即可得到类名,然后用decapitalize()将首字母小写即可得到id.
    快速打印当前上下文信息
    打印错误日志的时候需要打印当前上下文信息的,例如说入参,有时候入参很多的时候,写起来很痛苦,好在有模板函数methodParameters(),返回当前函数参数的列表,当然这个列表我们不能直接使用,需要结合groovyScript对它进行转化。
    <printContext>
    ---------------
    LogUtil.$TYPE$(LOGGER, “$MSG$ ” + $params$);

    将params绑定到groovyScript(“‘\”' + _1.collect { it + ' = [\“ + ' + it + ' + \”]'}.join(', ’) + '\“‘”, methodParameters()),就能够自动将当前函数的参数格式化后输出。

更多潍坊Java培训机构相关资讯,请扫描下方二维码

潍坊Java培训机构


上一篇:string常量池
下一篇:JVM内存

马上预约七天免费体验课

姓名:

电话:

达内教育孙莹:不断创新,打造IT全产业链的职业课程版图

做一个这样的程序要多少钱?简单点的那种

用小程序找业务寻人脉,金融业务智能撮合交易平台"金客拉"获数百万级 pre-A 轮融资

微信小程序奇袭,支付宝被动应战,老大地位将不保?

选择城市和中心
贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊