IDEA设置JAVA类和方法自界说表明模板方法 [复制链接]
发表于 2025-11-16 23:05:28 | 显示全部楼层 |阅读模式
目次
一、类表明
二、方法表明
1 创建分组 Template Group
2 在分组里创建一个 Live Template 模版
3 设置 Live Template 模版
3.1 设置Abbreviation Description
3.2 设置Template text
3.3 设置Edit variables
3.4 设置 Options
3.5 设置模版应用范围



一、类表明

在IDEA中打开File-Settings,在Settings中打开Editor-File and Code Templates,在左边的Files中选中Class。

如上图,Class编辑框中,编写如下代码
  1. /**
  2. * @description:
  3. * @author: liuyandeng
  4. * @date: ${DATE}
  5. */
复制代码
上述代码在创建类时天收效果如下:
  1. /**
  2. * @description:
  3. * @author: liuyandeng
  4. * @date: 2024/12/30
  5. */
复制代码
其他参数
   ${NAME}:设置类名
${USER}、${DATE}、${TIME}:设置创建类的用户、创建的日期和时间,另有一些其他的方法,好比:
项目名:${PROJECT_NAME},
日期格式{YEAR}年${MONTH}月${DAY}日 ${HOUR}{MINUTE}{SECOND}
  
二、方法表明

在Settings中打开Editor-Live Templates,如下图:

1 创建分组 Template Group

点击 " + " 号,选择Template Group,接着在弹出框中设置好这个组的名字,点击确定,比方:userDefine。

2 在分组里创建一个 Live Template 模版

选中上面我们刚刚创建的分组userDefine,然后点击 " + " 号,选择Live Template。

3 设置 Live Template 模版

3.1 设置Abbreviation Description

上图中Abbreviation设置项 ,是在我们要天生表明时,选择本身的某一个Live Template模版的快捷提示。IDEA天生表明的方式是:模板名+快捷键(好比设置模板名为a,快捷键用Tab,则天生方式为a+Enter),可以根据这个来选择使用差异的模版表明。不要把Abbreviation设置成斜杠,由于这会导致表明无法获取方法参数。设置成其他的字母或是符号都可以,这个看个人喜欢。


3.2 设置Template text



参考示例
  1. *
  2. * @description:
  3. * @author: liuyandeng
  4. * @date: $date$
  5. * @param: $param$
  6. */
复制代码
1.在设置参数名时必须用${参数名}$的方式,否则Edit variables中读取不到你设置的参数名
2.开头不要有/,由于会造成方法参数无法获取,我们在方法上面天生表明时,须要先写斜杠,然后再输入Abbreviation设置的模版缩写,这时 IDEA 会提示这个模版。
下面对模版举行分析:
   
$date$:这个是我们须要设置的项,在设置 Edit variables 时,内里会表现test项
$param$ :设置methodParameters方法(获取方法返回值的methodReturnType)
  $param$也可以使用groovyScript表达式的方式,见下文。



3.3 设置Edit variables


我们点击Edit variables后会弹出Edit variables变量设置框。
   Name: 是Template text中的变量名,就是双$符中心的变量。
Expression: 是变量怎样获取的表达式。
Default value: 是设置变量的默认值。
Skip if defined: 这一项须要勾选上。
  
接下来开始讲比力紧张的Expression 表达式。IDEA内置了一些表达式,可以点击Expression项反面的箭头查察。我们可以选择IDEA提供的内置表达式,也可以本身写groovyScript来到达本身想要的效果,写完之后复制粘贴进Expression中即可。
接下来教学几个常用的:
   

  • user() 会主动获取体系名。
  • date("yyyy年MM月dd") date()获取年代日的信息,通过传入格式化方式的字符串来自界说日期格式。
  • time("HH:mm:ss") 同date()函数。
  • param return 这两个须要写groovyScript表达式,在下面再讲。
  
拓展内容start:
groovyScript表达式
格式:groovyScript("[逻辑判定代码]",[获取参数表达式(此处为IDEA内置)])
  1. groovyScript(
  2. "
  3. def result='';
  4. def params="${_1}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
  5. for(i = 0; i < params.size(); i++) {
  6.     result += '* @param: ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')
  7. };
  8. return result;
  9. ", methodParameters())
复制代码
  IDEA变量表达式使用了groovyScript,上述代码是根据IDEA内置methodParameters()函数获取的值重新处置处罚的成想要的格式。
methodParameters()函数获取的值格式为:[name, age]。
    上述代码中:
  

  • ${_1}获取方法参数。${_1}也就是上述代码末端的methodParameters(),假如获取参数表达式有两个,可以通过${_2}获取第二个的效果。
  • 然后通过for循环将多个参数分行,形成多个@param。三目运算就是判定是否另有参数,假如有就分行。
  
@param设置

下面提供几种方法参数的格式:


  • 不带参数范例,比方:@param: name
  1. groovyScript(
  2.     "def result='';
  3.     def params="${_1}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
  4.     for(i = 0; i < params.size(); i++) {
  5.         result += '* @param: ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')
  6.     };
  7.     return result;"
  8. , methodParameters())
复制代码


  • 带参数范例,全类名,比方:@param: name - [java.lang.String]
  1. groovyScript(
  2.     "def result='';
  3.     def params="${_1}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
  4.     def paramTypes="${_2}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();  
  5.     for(i = 0; i < params.size(); i++) {
  6.         if(params[i].size() > 0){
  7.             result += '* @param: ' + params[i] + ' - [' +  paramTypes[i] + ']' + ((i < params.size() - 1) ? '\\n ' : '')
  8.         }else{
  9.             result += '* @param: ' + params[i] + ' ' +  paramTypes[i] + ((i < params.size() - 1) ? '\\n ' : '')
  10.         }
  11.     };
  12.     return result;"
  13. , methodParameters(), methodParameterTypes())
复制代码


  • 带参数范例,仅类名,比方:@param: name - [String]
  1. groovyScript(
  2.     "def result='';
  3.     def params="${_1}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
  4.     def paramTypes="${_2}".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
  5.     for(i = 0; i < params.size(); i++) {
  6.         def types = paramTypes[i].split('\\\\.').toList();
  7.         if(params[i].size() > 0){
  8.             result += '* @param: ' + params[i] + ' - [' + types[types.size()-1] + ']' + ((i < params.size() - 1) ? '\\n ' : '')
  9.         }else{
  10.             result += '* @param: ' + params[i] + ' ' + types[types.size()-1] + ((i < params.size() - 1) ? '\\n ' : '')
  11.         }
  12.     };
  13.     return result;"
  14. , methodParameters(), methodParameterTypes())
复制代码
也可以根据本身的格式需求,在groovyScript自行更改。
@return设置
  1. groovyScript("def returnType = "${_1}"; def result = '* @return: ' + returnType; return result;", methodReturnType());
复制代码
关于date相干的,我们可以用IDEA内置的表达式,然后传入本身的格式化规则字符串即可。比方:date("yyyy年MM月dd") time("HH:mm:ss")。
拓展内容end:


3.4 设置 Options

Options中的Expand with是快捷键的设置,默认是Tap键。

3.5 设置模版应用范围



图中赤色方框处就是设置应用范围的地方,在为设置前为 Define,在设置后为 Change。点击既可以设置。
可以选择Everwhere在每一个地方都应用,也可以选择对应的哪一种语言或什么位置会出现Abbreviation缩写弹窗提示。




参考链接:
IDEA设置类及方法表明模版 - 简书

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表