设置生成代码模板,可以减少重复代码编写。
1、文件类型
在生成一个指定文件的时候,可以预设模板内容,设置自己的内容,能用的变量idea里也给出来了,下面贴出来。
<!--
time:$DATE $TIME
user:$USER
message:#[[$END$]]#
-->
<template>
</template>
<script>
export default {
name: "${COMPONENT_NAME}"
}
</script>
<style scoped>
</style>
预定义变量列表 ${DATE}当前系统日期 ${DAY}当前月份的日期 ${DAY_NAME_SHORT}当前日期名称的前 3 个字母(例如,Mon、Tue 等) ${DAY_NAME_FULL}当前日期的全名(Monday、Tuesday 等) ${DIR_PATH}新文件的目录路径(相对于项目根目录) ${DS}美元符号 ($)。 此变量用于转义美元字符,因此不会将其视为模板变量的前缀。 ${FILE_NAME}新文件名称 ${HOUR}当前小时 ${MINUTE}当前分钟 ${SECOND}当前秒 ${MONTH}当前月份 ${MONTH_NAME_SHORT}当前月份名称的前 3 个字母(Jan、Feb 等)。 ${MONTH_NAME_FULL}当前月份的全名(January、February 等)。 ${NAME}新实体的名称(文件、类型、接口等) ${ORGANIZATION_NAME}在项目设置中指定的组织名称 ${PRODUCT_NAME}IDE 名称 ${PROJECT_NAME}当前项目名称 ${TIME}当前系统时间 ${USER}当前用户的系统登录名 ${YEAR}当前年度
2、输入指定内容,生成自定义代码
这时候就不是在生成文件时后,而是输入自定义标题时,弹出提示,选中后即可生成代码。
1、实时模板,在选中的分类下建一个模板,若没都选中,自动生成user分类
2、模板组,新建一个分类
展开方式:默认(tab)、space、enter、无
定义/更改:勾选要出现提示的地方
比如我缩写,填test,描述略,模板文本1234567,在输入test后回出现提示,选中后,自动生成固定内容1234567
使用$key$插入变量,如:123456$END$7,则打印出来后,光标在67之间。若变量为自定义(或更改官方变量),在“编辑变量”中设置,如:
function $var0$($var1$){
// $user$
return $var1$;
}
则自动出现
$var0$ 和 $var1$ 可手动输入内容,tab键跳到下一个变量位置,且同名变量,输入一个其他也跟着改变。
idea中可用的表达式,详情见官网
3、groovy脚本语言控制
idea可用groovy脚本语言设置模板,脚本语言的特点就是简单,兼容性强,简单的功能只要有编程基础就可以参考网上教程,就可使用循环/判断语句实现。
还是在编辑变量中设置表达式
groovyScript("Groovy",date(),time(),user());
其中Groovy可以直接编写groovyScript脚本语句,也可以写groovy文件路径。若内容较多,复用性强,建议引入文件。
示例:
//D:/Desktop/test/test.groovy
//groovyScript("D:/Desktop/test/test.groovy",date(),time(),user())
def date=_1;
def time=_2;
def name=_3;
def str="";
str+="/** \ntime:"+date+" "+ time+"\n*name:"+name+"*/\n";
for(i in 0..10){
str+="<td>"+i+"</td>\n"
}
return str;
模板文本仅一个变量,上述代码第一行为文件路径,第二行为idea设置的变量表达式,则效果如下:
4、正则动态生成(未实现)
上一个例子里,包括idea在内的编辑器都可以输入td*10然后按下Tab键实现,我想要实现的就是如此效果,自定义一段内容,后面接固定符号(如*)再接数字,能遍历生成内容。
并没有找到如【td*10】的设置方法,以后若找到就补上该文。
若有前辈知道,请不吝赐教。