IDEA类和方法注释模板设置-保姆教程

在讲解怎么设置类和方法注释模板前,先简单介绍下Javadoc 标准,因为注释规范,最终和Javadoc标准契合,效果最好,不仅方便后续出接口文档描述,也是业界的统一标准,更易于接受。

目录

[Javadoc 标准标签列表](#Javadoc 标准标签列表)

类注释设置

方法注释设置


Javadoc 标准标签列表

|--------------------|------------------------------------------------|
| 标签名 | 用途说明 |
| @author | 指定类、接口或方法的作者 |
| @version | 指定类、接口的版本信息 |
| @since | 表示该类或方法从哪个版本开始存在(一般就记录时间) |
| @see | 添加一个"参见"链接,可以是其他类、方法或 URL |
| @param | 描述方法参数的含义 |
| @return | 描述方法返回值的意义 |
| @throws/@exception | 描述方法可能抛出的异常 |
| @deprecated | 标记类、方法或字段已过时,建议使用替代项 |
| @link | 在注释中插入对其他类、方法或字段的内联链接(常用于详细说明中) |
| @code | 将文本以代码格式展示,不会被解析为 HTML 或 Javadoc 标签 |
| @serial | 用于描述序列化字段的行为(主要用于 Serializable 类) |
| @serialField | 用于描述序列化对象的字段(通常在 writeObject/readObject 方法中使用) |
| @serialData | 描述写入流的数据(通常在 writeObject 方法中使用) |

(1)@BelongsProject:当前项目的名称(可选,笔者自定的所属项目标签)

(2)@BelongsPackage:当前包的名称(可选,笔者自定的所属包标签)

类注释设置

设置步骤:File-->settings-->Editor-->File and Code Templates-->Files

复制下面的规则模板即可:(一般去掉了标签后面的:)

bash 复制代码
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};

#end
#parse("File Header.java")
/**
* TODO:功能描述
*@author Tom
*@version 1.0
*@since ${YEAR}-${MONTH}-${DAY}  ${HOUR}:${MINUTE}
*@BelongsProject ${PROJECT_NAME}
*@BelongsPackage ${PACKAGE_NAME}
*/
public class ${NAME} {
}

效果如下:每次创建新类后,修改作者和功能描述 说明 即可

java 复制代码
/**
 * TODO:功能描述
 *
 * @author Tom
 * @version 1.0
 * @since 2022-07-03  15:37
 * @BelongsProject tome
 * @BelongsPackage com.ys.soft.tome.controller
 */
public class ControllerTest {
}

方法注释设置

1、创建模板

IDEA还没有智能到自动为我们创建方法注释,这就是要我们手动为方法添加注释,我们的习惯是 /**+Enter,这里我们也按照这种习惯来设置IDEA的方法注释

1、File-->Settings-->Editor-->Live Templates

(1)新建组:命名为methodGroup

(2)新建模板:选中你刚才创建的组,然后右上角新建模板,命名为*

因为IDEA生成注释的默认方式是:/*+模板名+快捷键(比如若设置模板名为add快捷键用Tab,则生成方式为: /*add+Tab),如果不采用这样的生成方式IDEA中没有内容的方法将不可用,例如获取方法参数的methodParameters()、获取方法返回值的methodReturnType()

2、设置模板内容-IDEA格式模板

注意第一行,只有一个*而不是/*

在设置参数名时必须用{参数名}的方式,否则第五步中读取不到你设置的参数名

直接复制下面的模板代码:(标签后:已经去掉)

java 复制代码
*
 * TODO:方法功能描述
 * @author Tom 
 * @since $date$ $time$
 * @param $param$
 * @return $return$
 **/

4、设置模板应用场景

点击模板页面最下方的警告,来设置将模板应用于那些场景,一般选择EveryWhere-->Java即可

(如果曾经修改过,则显示为change而不是define)

第一次是Define,如下:

按下面的图片勾选Java相关选项:直接全选即可

5、设置参数

把右侧的Expand with:改为Enter ;

PS:第4步和第5步顺序不可颠倒,否则第5步将获取不到方法

然后选择右侧的Edit variables按钮

1、IDEA格式的模板只需要为每个参数选择对应的方法即可:

java 复制代码
方法名:
date()
time()
methodParameters()
methodReturnType()

2、设置成功后点击OK,返回项目新建一个方法,写完入参和返回值以后,在方法上面:

敲出:/** 回车

5、JavaDoc格式

该格式和IDEA格式略有不同:(@param @return)

(1)返回上面第二步中的格式设置:输入下面代码(注意格式)

java 复制代码
*
 * TODO:方法功能描述
 * @author Tom 
 * @since $date$ $time$ $param$ $return$
 **/

(2)参数设置(JavaDoc格式的需要自定义参数以及返回值的实现方式)

获取参数实现方式:

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

返回值实现方式:

javascript 复制代码
groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())

如果返回值不想有包路径,可以使用下面这个参数:

javascript 复制代码
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';};  def p1=params[i].split(',').toList();  for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList();  result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','}  } ;  };  return result", methodReturnType())

(3)设置成功后点击OK,返回项目新建一个方法,写完入参和返回值以后,在方法上面:

敲出:/** 回车

然后会显示:(注意param参数)

相关推荐
yanqiaofanhua9 小时前
C语言自学--数据在内存中的存储
c语言·开发语言
计算机软件程序设计12 小时前
基于Python的二手车价格数据分析与预测系统的设计与实现
开发语言·python·数据分析·预测系统
微笑尅乐13 小时前
力扣350.两个数组的交集II
java·算法·leetcode·动态规划
rzjslSe13 小时前
【JavaGuide学习笔记】理解并发(Concurrency)与并行(Parallelism)的区别
java·笔记·学习
青柠编程14 小时前
基于Spring Boot的竞赛管理系统架构设计
java·spring boot·后端
꒰ঌ 安卓开发໒꒱14 小时前
Java面试-并发面试(二)
java·开发语言·面试
Mr.Aholic14 小时前
Java系列知识之 ~ Spring 与 Spring Boot 常用注解对比说明
java·spring boot·spring
比特森林探险记14 小时前
Golang面试-Channel
服务器·开发语言·golang
xiangzhihong814 小时前
Spring Boot实现文字转语音功能
开发语言·python
月夕·花晨15 小时前
Gateway-断言
java·开发语言·分布式·spring cloud·微服务·nacos·sentinel