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

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

相关推荐
黑匣子~1 小时前
java集成telegram机器人
java·python·机器人·telegram
阿运河1 小时前
如何配置 VScode 断点调试Linux 工程代码
linux·ide·vscode
cocogogogo1 小时前
Jupyter Notebook / Lab 疑难杂症记:从命令找不到到环境冲突与网络阻塞的排查实录
网络·ide·jupyter
竹小春逢十八2 小时前
Java常用类概述
java
weixin_437398212 小时前
RabbitMQ深入学习
java·分布式·后端·spring·spring cloud·微服务·rabbitmq
Your易元2 小时前
设计模式-迭代器模式
java·开发语言
╭⌒心岛初晴2 小时前
JAVA练习题(2) 找素数
java·开发语言·算法·java练习题·判断素数/质数
purrrew2 小时前
【Java ee初阶】网络原理
java·运维·服务器·网络·网络协议·udp·java-ee
Timmer丿3 小时前
kafka学习笔记(四、生产者、消费者(客户端)深入研究(三)——事务详解及代码实例)
java·笔记·学习·kafka
ghie90903 小时前
Kotlin中Lambda表达式和匿名函数的区别
java·算法·kotlin