Bootstrap

企业项目级IDEA编辑器设置类注释、方法注释模板(仅增加@author和@date)

前言

公司代码规范中,需要在标准JavaDoc注释的基础上加上作者和日期。网上虽然有很多现成的类注释、方法注释模板文章,但是文章里面存在着各种问题,例如:

  • 不使用Java标准的注解,导致IDEA标黄,比如明明存在@author标签,却使用@Author@author:Author等自定义标签,导致IDEA标黄。
  • 明明直接写注释就行了,却要在注释前面加上个@description:标签等自定义标签,导致IDEA标黄。
  • 明明下面就是类名,却要在类注释上使用@className标注类名,导致每次修改类名还得改上面的注释。
  • 明明可以使用@param标签,却要使用@Param@param:等自定义标签,导致IDEA标黄。
  • 在方法注释上标明@return中 标明返回参数全限定类名,又长又无用,变更返回参数时,还得改。
  • 在写代码中如果在*后敲击回车老是会触发方法注释补全(作用域设置错误导致)。

于是重新整理编写了此篇文章。

一 设置类注释

目标:在新增类时,标注作者与创建时间

1.1 添加模板

路径: 左上角File -> Settings -> Editor -> File and Code Templates

image-20241117225208795

1.2 复制配置

/**
* 类功能描述
*
* @author 只有影子
* @date ${DATE}
*/

黏贴后效果:

image-20241117225350731

最后实现,每次新增一个类时,自动补充作者和时间

image-20241117225316176

二 设置方法注释

目标:在标准JavaDoc注释基础上,标注作者与创建时间

2.1 添加模版

功能路径: File -> Settings -> Ediot -> Live Templates

image-20241030155111379

2.2 设置模版

image-20241030160142026

Abbreivation: *

Decription: 方法注释

Template text:

*
 * $param$
 * @author 作者
 * @date $date$
 */

2.3 设置参数变量

点击【Edit Variables】按钮

image-20241030160153426

配置date和param参数

image-20241030163654371

param参数脚本:

groovyScript("def result=''; def stop=false; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); if (params.size()==1 && (params[0]==null || params[0]=='null' || params[0]=='')) { stop=true; }; if(!stop) { for(i=0; i < params.size(); i++) {if(i==0) result += '\\n'; result +=((i < params.size() - 1) ? ' * @param ' + params[i] + '\\r\\n' : ' * @param ' + params[i] + '')}; }; return result;", methodParameters())

date参数:

date()

2.4 配置对应快捷键

image-20241030160355715

这里使用的是使用按【Enter】健展开,如果需要使用其他按键展开,修改此配置即可

2.5 配置对应作用域

点击左下方【Defind】按钮

image-20241030160913313

选择【Comment】

image-20241030160951667

2.6 使用方式

在方法上输入/**后,按Enter健(2.4配置的按键)

QQ录屏20241117222810[00h00m00s-00h00m03s]

输出效果

/**
 *
 * @param serviceName
 * @param uri
 * @param requestMethod
 * @author 作者
 * @date 2024/10/30
 */

说明

@date:不是标准的标签,需要在IDEA中添加定义标记

@return:对于返回值需要特殊说明的场景,使用@return标签声明即可。@return没有必要声明返回值对应的类名。

@throws:一般场景下无需对异常进行说明,如果存在特殊异常使用场景,使用@throws标签进行声明。

;