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是可以正常对齐的,第二个不对齐我们可以在红色方框标记这里加减空格来使它对齐

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

相关推荐
程序员-珍4 分钟前
报错下载android sdk失败
android·java
糖果店的幽灵9 分钟前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
唐青枫1 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java
曹牧1 小时前
文档格式:OFD
java
豆角焖肉1 小时前
Maven进阶与搭建私服
java·maven
大不点wow2 小时前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
噢,我明白了2 小时前
Java中日期和字符串的处理
java·开发语言·日期
dkbnull2 小时前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai2 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
顺风尿一寸2 小时前
记一次 Spring AOP 与定时任务引发的死锁排查
java