zoukankan      html  css  js  c++  java
  • 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 "";
        }
    }
  • 相关阅读:
    ZOJ Problem Set
    数学之美:生活中的技术
    java泛型【收藏】
    "i=i++"在java等高级语言的解释
    poj1001
    ⑧javaWeb之在例子中学习(过滤器Filter)
    ZOJ Problem Set
    IT十年经典书籍
    ⑦JSP2.0的福利(标签文件)
    myeclipse-common 找不到
  • 原文地址:https://www.cnblogs.com/betterwgo/p/11224431.html
Copyright © 2011-2022 走看看