IDEA自定义类注释及方法注释模板

此种配置方法是params换行的方法注释模板

效果

每次博客中看到大佬们的代码注释非常专业以及高大上就羡慕,今天终于跟着网上的文章自己配置好了IDEA,下面是效果图

操作步骤

一.类注释模板

打开IDEA,点击File->Settings,然后按照下图顺序依次进入,将④中代码添加进自己的IDEA

复制代码
/**

@author: ${USER}

@create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}

@description: TODO

*/

二.方法注释模板

方法注释模板相对类注释模板麻烦一些,我踩坑也更多一些,先说正确步骤

1.按照下图步骤新建一个Template Group

2.按照稀土步骤新建一个Live Template

3.填写方法注释模板代码

方法注释模板代码:

复制代码
** 
* @Author: $user$
* @Date: $date$ $time$
* @Description: $description$
$params$
* @return: $returns$
*/

4.点击Edit variables配置$表达式

根据上图所示配置,其中Skip if defined配置项是指生成注释后光标是否需要跳过该项(生成注释后光标会默认停留在没有勾选Skip if defined的字段后,表示需要你填写内容,比如方法描述、参数、返回值等)。params和returns的Default value如下:

params:

javascript 复制代码
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(i==0){result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}else{result+='    * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}}; return result", methodParameters())

returns

javascript 复制代码
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(i==0){result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}else{result+='    * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}}; return result", methodParameters())

注意下图位置不要填写方法,否则后面Default value不生效

5.注意事项

①按照上述步骤配置好后在方法上面输入"/*"后按Tab便可生成方法注释。我们虽然配置的事*快捷键,但是众所周知IDEA中的注释都是/开头,还有就是网上说不加/*无法获取方法参数和返回值,这个我没测试过,基于以上两种原因,我们就输入"/*"后按Tab快捷生成方法注释

②还有一种简单的配置方式就是在第四步中将params和returns的Expression属性配置成methodParameters()和methodReturnType(),后面的Default value可以不配置,这样生成的params不会换行,我不喜欢这种所以没弄

③配置params的groovyScript的时候可能会遇到生成注释后@param无法对齐的情况,这时候可以修改params的groovyScript代码来解决

一般来说第一个@param是可以正常对齐的,第二个不对齐我们可以在红色方框标记这里加减空格来使它对齐

最后,如果有什么疑问或者遇到什么问题,欢迎私信交流,大家一起进步!

相关推荐
jyOverQ1 分钟前
Redis 主从复制、Sentinel 和 Cluster 到底有什么区别?
java·redis·sentinel
青春逝如流水13 分钟前
Java 线程在内存模型(JMM)与 JVM 实现:规范与落地的多元路径
java·开发语言·jvm·多线程·ai文章
wangbing11252 小时前
springboot应用关闭时触发动作
java·spring boot·后端
weixin_460443565 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
海鸥-w8 小时前
什么是AOP
java
Cc.Y8 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
golang学习记8 小时前
VSCode多光标迎来重大更新
ide·vscode·编辑器
paopaokaka_luck8 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787059 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev9 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计