IDEA在格式化模板的时候会把注释一起格式化,导致排好序的方法或者类注释顺序错乱。
设置方法:打开IDEAFile-> Setting -> Editor -> Code Style -> Java -> JavaDoc,找到Enable JavaDoc Formatting,将勾选取消掉即可。
类注释-
在File-> Setting -> Editor -> File and Code Templates -> Includes新建ThunisoftJavaFile, 内容如下:
-
在File-> Setting -> Editor -> File and Code Templates -> Includes新建ThunisoftJavaClass, 内容如下:
这里的${description}是个占位符,在新建Java文件时需要先写完描述才能创建成功。
-
在File-> Setting -> Editor -> File and Code Templates -> Files编辑以下项:
Class
#parse("ThunisoftJavaFile.java") #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("ThunisoftJavaClass.java") public class ${NAME} { }Interface
#parse("ThunisoftJavaFile.java") #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("ThunisoftJavaClass.java") public interface ${NAME} { }Enum
#parse("ThunisoftJavaFile.java") #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("ThunisoftJavaClass.java") public enum ${NAME} { }AnnotationType
#parse("ThunisoftJavaFile.java") #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("ThunisoftJavaClass.java") public @interface ${NAME} { } - 效果图:
- 新建Live Template:File-> Setting -> Editor -> Live Template,选择或者新建一个组,点击加号新建Live Template:
说明:
- Abbreviation是触发模板提示的符号。
- Applicable In 这里是设置在什么内容中能触发本模板的提示,我设置的是在Java的注释中可以触发。
- Expand with是触发提示后,选中提示然后加Enter键就可以生成模板,我设置的是Enter,也可以设置Tab和Space。
-
在新建的Live Template 的Template text内编写模板,注意空格:
* * * $name$ * * @description $END$$params$$return$ * @date $date$ $time$ * @author wzy * @version 1.0 */
- 点击EDIT VARIABLES,编辑参数:
比较特殊的两个,这两个是个groovy脚本:
params参数:groovyScript("def result=''; def params="${_1}".replaceAll('\\[|\\]|\\s','').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i].size()==0)continue;result+='\n * @param ' + params[i] +' '}; return result", methodParameters())
return参数:groovyScript("def p="${_1}";if(p=='null'||p=='void'){null}else{'\n * @return '+"${_1}"}", methodReturnType())
- 效果:
-
有个缺陷,这个方法不能生成@throws,我找了好久都没找到怎么获取到抛出的异常,只能自己写了。



