2021最实用的IDEA自定义方法注释和类注释模板

闲话少说,直接上干货

2021/08/21 更新方法注释

新建类文件的注释配置

如下 =>
2021最实用的IDEA自定义方法注释和类注释模板_第1张图片

自定义方法注释和类注释

第一步:2021最实用的IDEA自定义方法注释和类注释模板_第2张图片

**
 * $description$
 $params$ 
 $returns$
 * @author xxxxx
 * @date $date$
 */

注意:上图中的第四处,Shorten FQ names可以不勾选,它的作用主要就是缩短返回值类型的全类名,比如java.lang.String会变成String,但是如果是泛型的话会出现一点点小问题。

第二步:
2021最实用的IDEA自定义方法注释和类注释模板_第3张图片

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 }包裹
    2021最实用的IDEA自定义方法注释和类注释模板_第4张图片

  • 如果是void的话,就没有return
    2021最实用的IDEA自定义方法注释和类注释模板_第5张图片

引用类型则效果如下
2021最实用的IDEA自定义方法注释和类注释模板_第6张图片
2021最实用的IDEA自定义方法注释和类注释模板_第7张图片

这样我们可以直接通过Ctrl + 左键跳转到返回值的地方,是不是很棒?

觉得不错的话别忘了给个赞,谢谢

你可能感兴趣的:(idea,java,idea,intellij,idea,后端)