闲话少说,直接上干货
**
* $description$
$params$
$returns$
* @author xxxxx
* @date $date$
*/
注意:上图中的第四处,Shorten FQ names可以不勾选,它的作用主要就是缩短返回值类型的全类名,比如java.lang.String会变成String,但是如果是泛型的话会出现一点点小问题。
无参数则默认不生成,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 + '}';
}
自定义返回值这做了一些处理,效果见下 :
这样我们可以直接通过Ctrl + 左键跳转到返回值的地方,是不是很棒?
觉得不错的话别忘了给个赞,谢谢