1. IDEA在类上和方法上添加Javadoc文档注释,图文详解:
一、在类上生成文档注释(在接口上生成同理)
方法一:
- File–>settings–>Editor–>File and Code Templates–>Files–>Class
- 在模板上加入文档注释模板,使用效果如下图 ;
/** *@ClassName ${NAME} *@Description TODO *@Author ${USER} *@DATE ${DATE} ${TIME} *@Version 1.0 */
方法二:
设置步骤:File--> Settings--> Editor--> File and Code Templates--> Includes--> File Header--> "添加以下代码"
/** * @Author ${USER} * @Date ${DATE} ${TIME} * @Version 1.0 */
个人配置:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") /** *@ClassName ${NAME} *@Description TODO *@Author FanHongYuan *@DATE ${YEAR}年${MONTH}月${DAY}日 ${HOUR}:${MINUTE} * */ public class ${NAME} { }
二、在方法上生成文档注释
1. File–>Settings–>Editor–>Live Templates
2. 单击右侧“+”号,选择Template Group…,新建一个自定义模板组,可以使用自己的名字命名;
3. 选择该模板组,单击右侧“+”号,选择“Live TempLate”,设置“abbreviation”的值为”*”;
4. 设置模板内容,选择Temple Text,设置为
5. 设置该模板在哪些文件生效,选择下方的define-everywhere-java,设置只在java文件中生效
6. 选择右侧的Edit variables按钮,进行如下配置
7. 使用/*+刚设置的模板名(此处为我们前面设置的“ * ”)+tab(默认模板补全快捷键,在上方的“By default expand with”设置,此处我更改为了Enter,看个人习惯),所以此时我们使用/** + tab就能补全,效果如下
三、在方法上生成文档注释,如何自定义注释模板?
方法注释(自定义groovyScript方法实现多行参数注释)
这里接 "二、在方法上生成文档注释" 的第5步,开始进行如下配置:
6. 选择右侧的Edit variables按钮,进行如下配置
唯一不同的是,方法里面的 params 变量需要用以下 Groovy 表达式来配置:
groovyScript( "def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { if(params[i] == '') return result; if(i==0) result += ''; result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\n' : '') }; return result", methodParameters() )
或者这样:
groovyScript( "def result='\n'; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { if(i == 0 && params[i] == ''){ return ''; }; result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\n' : ' ') }; return result", methodParameters() )
注意:其中包含一些字符,需要转义,转义前后对比如下:
//def params="${_1}".replaceAll('[[|]|s]', '').split(',').toList(); def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList();
参考文章:
1. https://blog.csdn.net/qq_32168785/article/details/109670547
2. https://www.cnblogs.com/miracle-luna/p/10638510.html
3. https://www.cnblogs.com/Neil-learning/p/13169717.html
4. https://blog.csdn.net/weixin_31965935/article/details/112487234
5. https://blog.csdn.net/qq_34065636/article/details/102932240
以下内容转载于参考文章3:
IDEA自定义类注释和方法注释(自定义groovyScript方法实现多行参数注释)
一、类注释
1、打开设置面板:file -> setting -> Editor -> file and code Templates
选择其中的inclues选项卡,并选择File header,如图。不要选择Files选项卡再设置Class,这样比较麻烦,而且这样设置以后没新建一个类都要自己写一次Date。
2、在右边编辑面板插入自己想要的注释即可。其中${}是变量,需要在变量基本都在编辑款下面的Description,往下拉即可看到。
/* * @Classname ${NAME} * * @Date ${DATE} * * @userName */
3、新建一个类,看是否自动加了注释
二、方法注释
1、打开设置面板:file -> setting -> Editor -> Live Templates
2、新建一个Template Group…,命名随意,假设为bokeyuan,然后选择该组,点击新建一个模板Live Template
3、名称建议设为*,文本框输入自己想要设置的注释格式,右下角要选择enter(原本是tab)。
4、留意注释格式,其中参数要直接写变量$param$,开头只有一个*号。写好之后点击上图框中的edit variables
其中返回值return使用系统自带的,下拉可以找到methodReturnType()
5、自定义多行参数注释
IDEA自带的参数函数methodParameters()产出的注释格式是这样的:
/** * * @param [a,b,c] * @return void * @throws */
我们可能需要的是多行参数注释:
/** * * @param a * @param b * @param c * @return void * @throws */
这个时候就要使用里面的groovyScript()函数来自定义格式:
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() )
直接复制在Expression里面即可。
6、选择语言,点击Define勾选Java
以下内容转载于参考文章5:
IDEA注释模版,解决Params问题
1.进入Settings,找到Editor–Live Templates
2.按照如图所示操作,建立模版组
3.选中组,点击+新建模版
这边我建了两个,一个给类用,一个给方法用
类:如图所示
Abbreviation 的内容我用的是 * ,符合日常习惯,不了解相关机制的就写 * ,不要改其他的
** * @Description: $memo$ * @author: Sorber * @Date: $Date$ $time$ */
以下是方法:如图所示
Abbreviation:**
** * @Description: $memo$ * @Author: Sorber * @Date: $date$ $time$ $params$ $return$ */
params Default Value
groovyScript("if("${_1}".length() == 2) {return '';} else {def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]','').split(',').toList(); for(i = 0; i < params.size(); i++) { if(i==0){ result+='* @Param ' + params[i] + ': ' } else{ result+='\n' + ' * @Param ' + params[i] + ': '} }; return result;}", methodParameters());
return 的Default Value
groovyScript("def returnType = "${_1}"; def result = '* @Return: ' + returnType; return result;", methodReturnType());
自定义方法注释模板:个人配置
说明:自定义groovyScript方法,既可以写在Expression里,也可以写在Default value中。
Template text:
** * * * @Author FanHongYuan * @Date $date$ * @Description //TODO * $param$ $return$ */
param和return参考:https://blog.csdn.net/qq_34065636/article/details/102932240,即上述参考文章5.
此处对date也做了groovyScript配置,如下:
(1) 如果系统默认日期(中文格式)是2021/5/21,修改为格式:2021年5月21日,则如下:
groovyScript( "def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split('/').toList(); for(i = 0; i < params.size(); i++) { if(i == 0){ result += params[i] + ((i < params.size() - 1) ? '年' : '') }; if(i == 1){ result += params[i] + ((i < params.size() - 1) ? '月' : '') }; if(i == 2){ result += params[i] + ((i <= params.size() - 1) ? '日' : '') }; }; return result", date() )
(2) 如果系统默认日期(中文格式)是7/4/2021,修改为格式:2021年5月21日,则如下:
groovyScript( "def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split('/').toList(); for(i = 0; i < params.size(); i++) { if(i == 0){ result+= params[i] + ((i < params.size() - 1) ? '日' : '') }; if(i == 1){ result = params[i] + ((i < params.size() - 1) ? '月' : '') + result }; if(i == 2){ result = params[i] + ((i <= params.size() - 1) ? '年' : '') + result }; }; return result", date() )