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

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

相关推荐
一 乐9 分钟前
健身达人小程序|基于java+vue健身达人小程序的系统设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·小程序
不剪发的Tony老师17 分钟前
PyScripter:一款免费开源、功能强大的Python开发工具
ide·python
u***42071 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
charlie1145141912 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程
java·笔记·vscode·后端·学习·maven·springboot
tuokuac2 小时前
Maven中的属性占位符的用法
java·maven
芒克芒克2 小时前
Maven 项目管理从入门到进阶:基础与高级实战全解析
java·maven
憧憬blog5 小时前
【Kiro开发集训营】拒绝“屎山”堆积:在 Kiro 中重构“需求-代码”的血缘关系
java·开发语言·kiro
e***74955 小时前
Spring Security 官网文档学习
java·学习·spring
n***i956 小时前
Java NIO文件操作
java·开发语言·nio
笃行客从不躺平7 小时前
接口幂等性(Idempotency)
java