• IDEA注释模板


    (1)Getter和Setter 生成代码的同时注释

    添加新模板

    输入模板生产代码:

    其实就是InteliJ Default默认模板上面我们添加了生产注释,Getter的生成代码就是默认模板的。

    Getter模板代码如下:

    /**
    * 获取 $field.name.
    *
    * @return 返回 $field.name
    */
    #if($field.modifierStatic)
    static ##
    #end
    $field.type ##
    #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
    #if ($field.boolean && $field.primitive)
    is##
    #else
    get##
    #end
    ${name}() {
    return $field.name;
    }

    Setter同理,Setter的注释模板如下:

    /**
    * 设置 $field.name 的值
    *
    * <p>可以通过$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() 来获取 $field.name 的值</p>
    *
    * @param $field.name $field.name
    */
    #set($paramName = $helper.getParamName($field, $project))
    #if($field.modifierStatic)
    static ##
    #end
    void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
    #if ($field.name == $paramName)
        #if (!$field.modifierStatic)
        this.##
        #else
            $classname.##
        #end
    #end
    $field.name = $paramName;
    }

    效果示例:

    (2)函数注释模板

    添加模板组:

    输入组名:

    新建Live Template:

    添加模板,模板格式可能需要 根据效果调整:

    设置应用到哪些类型的文件,我们选java(里面还可以细分,没做更深入尝试):

    展开方式,即输入Abbreviation中的快捷键之后,按什么键使用模板,默认是Tab键:

    编辑变量:

    VAR1中填入以下内容:

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

    然后点击【OK】--> 【Apply】-->【OK】。

    效果示例:

    直接按我们定义的快捷键*然后再Tab键的话输出的就是模板的内容,我这里保留IDEA注释的习惯,反斜杠两个*之后再Tab键。

    也可以自定义快捷键和修改模板实现直接输出的就是注释。

    (3)文件头注释模板

    效果示例:

    整体效果示例:

    package com.autoai.nglp.aiso.topicagent.service.gas;
    
    import java.io.IOException;
    
    /**
     * description :
     *
     * @author :  hucm
     * @project : topic-service
     * @filename TestComments
     * @date : Created in 2019/7/19 16:55
     */
    public class TestComments {
        private String str;
    
        /**
         * 获取 str.
         *
         * @return 返回 str
         */
        public String getStr() {
            return str;
        }
    
        /**
         * 设置 str 的值
         *
         * <p>可以通过Str() 来获取 str 的值</p>
         *
         * @param str str
         */
        public void setStr(String str) {
            this.str = str;
        }
    
        /**
        * @description : 
        * @param param1
        * @param param2
        * @return java.lang.String
        * @author hucm
        * @date 2019/7/19 16:55
        * @throws 
        */
        public String func(String param1, Integer param2) throws IOException {
            return "";
        }
    }
  • 相关阅读:
    js正則表達式语法
    购买DigtalOcean VPS 以及 连接Linux
    UVA 246
    牵一发动全身【Nhibernate基本映射】
    jquery.validate+jquery.form提交的三种方式
    [Python] 发送email的几种方式
    递归算法浅谈
    最小二乘法多项式曲线拟合原理与实现
    王立平-Android中对图像进行Base64编码
    [置顶] EasyMock的简单使用
  • 原文地址:https://www.cnblogs.com/betterwgo/p/11224431.html
Copyright © 2020-2023  润新知