[IntelliJ IDEA专题-05] 代码小助手-LiveTemplate

LiveTemplates概述

  • LiveTemplate能让你以简短的自定义单词缩写插入常用的代码段,比如main函数,循环,方法定义和类字段定义。输入简写后按Tab即可展开所代表代码。它的定义主要分为两种,一种是简单的文本替换,另一种可以在LiveTemplate中定义变量;对于带有变量的代码段,IDEA会自动定位到变量定义处,输入变量后按回车即可到下一处变量处,直到$END$光标将在此停住。一段LiveTemplate的简单演示:

IDEA默认定义的LiveTemplates(Java)

  • 简单模板,简单的文本替换。

    package cn.livetemplate.demo;
    public class LiveTemplateDemo {
        /**
         * 1 psvm -> main主函数定义
         * 2 psfi -> private static final int
         * 3 psfs -> private static final String
         * 4 thr ->  throw new
         * 5 sout -> System.out.println
         */
        public static final int LPPO = 1;
        public static final String MSG = "HELLOWORLD";
    
        public static void main(String[] args) {
            System.out.println(MSG);
        }
    }
    
  • 带变量的模板,主要应用于条件判断,循环,迭代等常用的代码片段。

    package cn.livetemplate.demo;
    
    public class LiveTemplateWithVariable {
    
        public static void main(String[] args) {
    
            /**
             * 条件判断
             * 1 ifn -> if (var == null) {}  其中var需要输入待判断的变量,会根据上下文智能提示
             * 2 inn -> if (var != null) {}
             * 3 inst -> if (var instance varType) { varType variable = (varType) var; } 判断是否为指定类型的对象 如果是则转换
             */
            String  o = null;
            if (o == null) { }
            if (o instanceof Object) { Object o1 = (Object) o; }
            /**
             * 循环
             * 1 fori -> for(int i = 0; i < length; i++) {} length变量输入迭代的长度
             * 2 iter -> for(varType i : arr) {}   对可以迭代的数组或者列表进行forEach迭代 arr类型会根据上下文推断
             * 3 itar -> for(int i = 0; i < arr.length; i++) {} 对数组进行迭代,需要迭代的arr可根据上下文推断
             */
            for (int i = 0; i < 10; i++) {
                System.out.println(i);
            }
        }
    }
    

自定义的LiveTemplates

  • 自定义Live Templates配置可通过File|Settings...打开配置界面,定位到Editor|Live Templates子标签即可。

  • 创建自定义的Live Templates可通过以下几步完成:

    1. 点击Live Templates配置界面右侧的+号选择2.Template Group...新建分组。

    2. 左侧窗口新建的分组选中状态,再次点击右侧的+号选择1. Live Template...新建.

    3. 在新建的Live TemplateAbbreviation,DescriptionTemplate text中填入相应的缩写,描述和模板文本等。如果存在变量,还可通过点击Edit Varaible编辑变量的默认值或者绑定IDEA预提供的函数方法。

    4. 指定该Live Templates适用的语言和分类.

  • Live Templates的模板文本支持双$$符号定义的变量。此变量在展开时会被替换为用户指定的值、在定义该变量时的默认值或者配置了IDEA预定义函数值。模板变量可通过点击Edit Variable按钮调出配置框进行配置。

  • IDEA提供默认预定义变量$END$代表代码完成后的光标位置。支持的内置函数结合下篇的日常Live Templates进行说明。详细信息可见JetBrains官网

日常开发Live Templates

  • 带时间和作者的todo.其中变量USER使用user()函数获取登录系统的用户名。TIME变量使用time()函数用于获取插入该模板时的当前时间。$COMMENTS$需要用户输入todo的简短描述信息。

    // todo $USER$ $TIME$ $COMMENTS$
    $END$
    
  • 自定义类注释和方法注释模板。简写可使用classc

    /**  
     * All rights Reserved, Designed By $WEBSITE$
     * @Title:$FILENAME$
     * @Class:$PACKAGE$.$CLASSNAME$
     * @Description:$DESCRIPTION$
     * @author:$USER$
     * @date:$DATE$  
     * @version:$VERSION$ 
     * @Copyright:$WEBSITE$ Inc. All rights reserved. 
     * 注意:本内容仅限于$COMPANY$内部传阅,禁止外泄以及用于其他的商业目
     */
    
  • Javadoc注释的字段定义。如pic表示带javadoc注释的Integer变量定义。psc表示带javadoc注释的字符串变量定义。

    /**
     * $COMMENTS$
     */
    private Integer $INTEGERVARIABLE$;
    $END$
    
  • 可定义Spring配置文件的xml schema,使用简写beans就可以把schema配置信息导入。

    
    
        $END$
    
    

你可能感兴趣的:([IntelliJ IDEA专题-05] 代码小助手-LiveTemplate)