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
可通过以下几步完成:-
点击
Live Templates
配置界面右侧的+
号选择2.Template Group...
新建分组。 -
左侧窗口新建的分组选中状态,再次点击右侧的
+
号选择1. Live Template...
新建. -
在新建的
Live Template
中Abbreviation
,Description
和Template text
中填入相应的缩写,描述和模板文本等。如果存在变量,还可通过点击Edit Varaible
编辑变量的默认值或者绑定IDEA预提供的函数方法。 -
指定该
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配置信息导入。<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> $END$ </beans>
网友评论