闲话少说,直接上干货
2021/08/21 更新方法注释
新建类文件的注释配置
如下 =>
自定义方法注释和类注释
第一步:
**
* $description$
$params$
$returns$
* @author xxxxx
* @date $date$
*/
注意:上图中的第四处,Shorten FQ names可以不勾选,它的作用主要就是缩短返回值类型的全类名,比如java.lang.String会变成String,但是如果是泛型的话会出现一点点小问题。
第二步:
Groovy脚本
自定义参数注释
无参数则默认不生成,expression文本如下:
groovyScript("String params = \"${_1}\";if (params == '[]'){return '* '; }else {def result = '';def list = params.replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for (i = 0; i < list.size(); i++) { result += '* @param ' + list[i] + ((i < list.size() - 1) ? '\\r\\n ' : ''); };return result; }", methodParameters())
groovy代码案例如下:
String customParamValueAnnotation(String _1) {
String params = "${_1}";
if (params == '[]') {
return '* ';
} else {
def result = '';
def list = params.replaceAll('[\\[\\s\\]]', '').split(',').toList();
for (i = 0; i < list.size(); i++) {
result += '* @param ' + list[i] + ((i < list.size() - 1) ? '\\r\\n ' : '');
}; return result;
}
}
自定义返回值注释
找了网上很多博客都没有找到满意的,所以干脆自己写了一段Groovy代码,自给自足,哈哈。expression文本如下:
groovyScript("String params = \"${_1}\";if (params == 'void'){return '* '; };def baseTypes = ['byte', 'short', 'int', 'long', 'float', 'double'];def arrayTypes = ['byte[]', 'short[]', 'int[]', 'long[]', 'float[]', 'double[]'];if (baseTypes.contains(params) || arrayTypes.contains(params)) {return '* @return ' + params; };params = params.replace(' ', '');int index = params.indexOf('<');if (index != -1) {params = params.substring(0, index); };return '* @return {@link ' + params + '}';", methodReturnType())
groovy代码案例如下:
String customReturnValueAnnotation(String _1) {
String params = "${_1}";
// void的情况不需要返回值
if (params == 'void') {
return '* ';
};
def baseTypes = ['byte', 'short', 'int', 'long', 'float', 'double'];
def arrayTypes = ['byte[]', 'short[]', 'int[]', 'long[]', 'float[]', 'double[]'];
// 基本类型不需要引用标识
if (baseTypes.contains(params) || arrayTypes.contains(params)) {
return '* @return ' + params;
};
params = params.replace(' ', '');
int index = params.indexOf('<');
if (index != -1) {
params = params.substring(0, index);
};
return '* @return {@link ' + params + '}';
}
自定义返回值这做了一些处理,效果见下 :
-
如果是基本类型的话,就不会被{@link }包裹
-
如果是void的话,就没有return
引用类型则效果如下
这样我们可以直接通过Ctrl + 左键跳转到返回值的地方,是不是很棒?
觉得不错的话别忘了给个赞🤪,谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15195.html