美文网首页
IDEA-Java注释详细设置大全

IDEA-Java注释详细设置大全

作者: 涎涎 | 来源:发表于2020-12-01 10:44 被阅读0次

    设置最终效果

    如下所未是我常用的注释最终效果,分享给大家

        /**
         * @methodName copyDir
         * <p>
         *    Description:
         * </p> 
         * @param: oldPath
         * @param: newPath
         * @return void
         * @throws IOException 
         * <p>Copyright: Copyright (c) 2017</p>
         * <p>Company: www.baidudu.com</p>
         * @author xianxian
         * @Date 2023/2/1  16:39
         * @version 1.0
        */
    
    • 由于一直使用Eclipse,在Eclipse中注释使用是一件非常方便的事,只需要将别人设置好的注释模板生成.xml文件直接导入而后通过 /** + ENTER 快捷键 在类或者方法上可以使用了,但这是IDEA 所以 习惯使用Eclipse的小伙伴一定要避免以下误区

    网络上大把使用EclipseCodeFormatter插件而后导入xml文件而后就可以在IDEA中使用的,本人亲测是不行的!!!!!大家不必去浪费时间,如果有小伙伴用这种方式而成功的,欢迎指导一下本人。

    设置步骤

    请进入如下设置界面 file --> setting --> editor

    1. 设置 File and Code Templates 里的 Files列表下的 class / interface / Enum / annationtype

    它们的共性是取消勾选 Reformat according to style 与Enable Live Templates 两个勾选框,而后代码界面按如下界面设置

    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    
    /**
     * @className ${NAME}
     * <p>
     *    Description: ${description}
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date ${YEAR}/${MONTH}/${DAY}  ${HOUR}:${MINUTE}
     * @version V1.0
    **/
    public class ${NAME} {
    }
    
    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    
    
    /**
     * @interfaceName ${NAME}
     * <p>
     *    Description: ${description}
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date ${YEAR}/${MONTH}/${DAY}  ${HOUR}:${MINUTE}
     * @version V2.0
    **/
    public interface ${NAME} {
    }
    
    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    
    
    /**
     * @enumName ${NAME}
     * <p>
     *    Description: ${description}
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date ${YEAR}/${MONTH}/${DAY}  ${HOUR}:${MINUTE}
     * @version V2.0
    **/
    public enum ${NAME} {
    }
    
    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    
    /**
     * @annotationName ${NAME}
     * <p>
     *    Description: ${description}
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date ${YEAR}/${MONTH}/${DAY}  ${HOUR}:${MINUTE}
     * @version V2.0
    **/
    public @interface ${NAME} {
    }
    
    • 只贴一个示意图,方便大家理解,设置完成apply一下就行了

    备注:网络上一大把博客,你抄我抄你的叫我们设置Includes,本人亲测,不用设置,如果你设置了那么恭喜你,新建类等在它的开头会出现两段注释,不用感谢我!!!!!!!!

    1. 设置 Live Templates
    • 1.点击右边 + 号选择 Template Group 新建一个分组命名为 Custom

      1. 然后再在这个分组下新建一个 Live Template
      1. Abbreviation: * Description:方法注释
      1. Template text:

    注:如下代码是没有/*的是以*开头的不要弄错了

    *
     * @methodName $methodName$
     * <p>
     *    Description:
     * </p> 
     $param$
     * @return $returns$
     * @throws $throws$
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @Date $DATE$  $TIME$
     * @version 1.0
    */
    
      1. Define 点击开来 勾选 整个Java
      1. 设置Option
      • Expand with 设置成 Enter

      • 取消勾选前两复选框,保留勾选最后一个复选框

      1. 点击 Edit Variables 为里面的变量赋值
    Name Epression Skip if defined
    methodName methodName() 勾选
    param 如下param 勾选
    returns 如下returns 勾选
    throws completeSmart() 不勾选
    DATE date() 勾选
    TIME time() 勾选

    param

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

    returns

    groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';};  def p1=params[i].split(',').toList();  for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList();  result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','}  } ;  };  return result", methodReturnType()) 
    

    测试

    1. 测试新建 class / interface / Enum / annationtype
    package com.yoyling;
    /**
     * @className TestClass
     * <p>
     *    Description: testclass
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date 2023/02/01  17:28
     * @version V1.0
    **/
    public class TestClass {
    }
    
    package com.yoyling;
    
    /**
     * @interfaceName TestInter
     * <p>
     *    Description: testinterface
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date 2023/02/01  17:29
     * @version V2.0
    **/
    public interface TestInter {
    }
    
    package com.yoyling;
    
    /**
     * @enumName TestEnum
     * <p>
     *    Description: TestEnum
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date 2023/02/01  17:29
     * @version V2.0
    **/
    public enum TestEnum {
    }
    
    package com.yoyling;
    /**
     * @annotationName TestAnn
     * <p>
     *    Description: TestAnn
     * </p>
     * <p>Copyright: Copyright (c) 2017</p>
     * <p>Company: www.baidudu.com</p>
     * @author xianxian
     * @date 2023/02/01  17:30
     * @version V2.0
    **/
    public @interface TestAnn {
    }
    
    1. 方法等注释测试 ---- 使用 /** + Enter 快捷键在方法头上自动生成注释
    • 2.1 有参无返回无抛异常
      /**
         * @methodName info
         * <p>
         *    Description:
         * </p> 
         * @param: s
         * @param: s1
         * @return void
         * @throws 
         * <p>Copyright: Copyright (c) 2017</p>
         * <p>Company: www.baidudu.com</p>
         * @author xianxian
         * @Date 2023/2/1  17:32
         * @version 1.0
        */
        private static void info(String s, String s1) {
        }
    
    • 2.2 无参无返回无异常
        /**
         * @methodName haha
         * <p>
         *    Description:
         * </p> 
         * @param: 
         * @return void
         * @throws 
         * <p>Copyright: Copyright (c) 2017</p>
         * <p>Company: www.baidudu.com</p>
         * @author xianxian
         * @Date 2023/2/1  17:33
         * @version 1.0
        */
        private static void haha(){
            
        }
    
    • 2.3 有参有返回无异常
        /**
         * @methodName TestReturn
         * <p>
         *    Description:
         * </p> 
         * @param: str
         * @param: num
         * @param: bl
         * @return String
         * @throws 
         * <p>Copyright: Copyright (c) 2017</p>
         * <p>Company: www.baidudu.com</p>
         * @author xianxian
         * @Date 2023/2/1  17:34
         * @version 1.0
        */
        private static String TestReturn(String str,int num,Boolean bl){
            return str;
        }
    
    • 2.4 有参无返回有异常
      /**
         * @methodName copyDirs
         * <p>
         *    Description:
         * </p> 
         * @param: oldPath
         * @param: newPath
         * @return void
         * @throws IOException 
         * <p>Copyright: Copyright (c) 2017</p>
         * <p>Company: www.baidudu.com</p>
         * @author xianxian
         * @Date 2023/2/1  17:37
         * @version 1.0
        */
        private static void copyDirs(String oldPath, String newPath) throws IOException {}
    

    注:取异常值可能有时候取不到, 不过不要紧,在设置里的勾选框,多取消或添加上勾选多测试几次后,只要成功了就一直能取到值了。

    以上就是我关于 IDEA-Java注释详细设置大全 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。


    分割线

    相关文章

      网友评论

          本文标题:IDEA-Java注释详细设置大全

          本文链接:https://www.haomeiwen.com/subject/vxuywktx.html