在用 Java
或 Kotlin
编写方法
时建议编写完善的自动注释注释,包含每个参数的生成意义和返回的内容,下面介绍在 IDEA
中自动生成方法注释的并添技巧。
特别是参数我平时使用 Kotlin
比较多,而 Kotlin
的自动注释注释生成和 Java
有点不同,请往下看。生成
一、并添需求描述
默认 Java
方法输入 /**
回车会自动生成方法注释,参数并添加方法参数。自动注释
但我们可能想在注释中添加作者和日期
,生成就得用到 IDEA 的并添实时模板
功能了(代码片段)。
Java 生成的参数默认注释:
/** * * @param username * @param password * @return */public String index(String username, Integer password) { return "xinggang";}
我们期望生成这样的注释:
/** * * @param username * @param password * @return java.lang.String * @author xinggang * @create 2022/02/24 **/public String index(String username, Integer password) { return "xinggang";}
二、解决方案
打开 IDEA 设置:文件 | 设置 | 编辑器 | 实时模板
,自动注释增加一个模板,生成设置如下,并添注意标记的 4
处。
1、缩写用 *
2、模板文本(注意开始是个 *
,不是 /*
)
* * $name$ * $param$ * @return $return$ * @author xinggang * @create $date$ **/
3、作用于 Java
、Kotlin(Kotlin 获取不到方法参数,解决方案见本文后面章节)
4、展开方式 Enter
(当然也可以选择自己喜欢的如 Tab
)
5、编辑变量
其中 param
变量表达式:
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 += 'n'; result+=' * @param ' + params[i] + ((i < params.size() - 1) ? 'n' : '')}; return result", methodParameters())
6、使用:输入 /**
后回车,生成注释如下,光标会定位在开始位置方便输入方法的名称及描述等。
/** * | * @param username * @param password * @return java.lang.String * @author xinggang * @create 2022/02/24 **/public String index(String username, Integer password) { return "xinggang";}
三、Kotlin 获取不到参数
1、若不使用
上面的模板,Kotlin 默认输入 /**
也不会
自动生成带参数的注释,这是因为 IDEA 默认没有安装 kdoc-generator
插件。
2、即使使用
上面的模板,Kotlin 方法上也无法获取方法参数
。
本文模板输出的内容(获取不到参数)
/** * * @param null * @return * @author xinggang * @create 2022/02/24 **/fun saveData(billNO: String, pcqy: String, currUser: SysUser): Any { 。。。 }
适用于 Kotlin 的变通解决方案:
我思前想后终于找到一个不算完美但用起来倒也舒爽的变通方案。
1、安装 kdoc 插件
安装 kdoc-generator
插件后即可自动生成带参数的方法注释。
kdoc 生成的注释如下:
/** * TODO * * @param billNO * @param pcqy * @param currUser * @return */fun saveData(billNO: String, pcqy: String, currUser: SysUser): Any { 。。。 }
2、修改上面的模板
将之前定义的 *
模板适用范围去掉 kotlin
,即 kotlin 中不再使用上面定义的模板,如果一开始就没有勾选 kotlin 则忽略此步。
3、新增加模板 TODO
方法不再赘述,和之前的一样,直接看图。
模板文本:
$name$$END$* @author xinggang* @create $date$
4、使用
这样就 OK
了,使用时先按 /** 回车
输入 kdoc 的默认注释,这时光标停留在 TODO
位置,这时再直接按 Tab
就调用 TODO
模板补全内容了。
效果动图:
完🏝️。