大家好,又见面了,我是你们的朋友全栈君。
文章有点长了,为了方便大家快速使用,直接把配好的方法放到最上面,有兴趣的可以继续向下看完。
添加注释模板方法:CTRL ALT S(或者File -> Setting) 打开设置,搜索Live Templates 如下图一所示:
图一
然后点击图二中所示“ ”号,添加模板组,如图二所示:
图二
我自己创建的是mygroup,然后点击添加live Template 添加类注释和方法注释。如图三所示:
图三
类注释:
图中的1号位置是注释快捷键,例如我配的是“cc”,打注释时就是用“/**cc -> Enter”,方法注释同理就是”/**mc -> Enter”。
重点:右侧的”Reformat according to style” 会自动格式化注释,如果有缩进问题请勾选,对方法注释一样。
代码语言:javascript复制
*
* @author ***
* @createDate $date$ $time$
*/
类注释我写的比较简单,可以参考IDEA 创建类注释模板和方法注释模板 – 简书
date和time都是变量 点击Edit variables,参考下图配置
方法注释:
代码语言:javascript复制* $param$
* @author ***
* @createDate $date$ $time$ $return$
*/
增加了智能返回值。
方法注释和类注释的差别在于param字段是自己写的groovy脚本,如图所示,复制字符串到对应位置即可。
return对应的groovy脚本:
代码语言:javascript复制groovyScript("def params="${_1}"; if(params=='void'){return '';} else {return '\nt * @return ' params}", methodReturnType())
不需要return的这个的话可以选择自带函数就可以。
param对应的groovy脚本:
代码语言:javascript复制groovyScript("def result='\n'; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i ) {if(i == 0 && params[i] == ''){return '';};result =' * @param ' params[i] ((i < params.size() - 1) ? '\n' : ' ')}; return result", methodParameters())
下面分割的都是臭屁,没什么用了。博主留着自己玩,有问题欢迎大家在评论区交流,本人不怎么上CSDN。
如题,使用idea的时候,因为它预定义的注释样式不尽人意,但还好的是支持自定义模板。
自定义模板
File->Settings
图一
然后搜索Live Templates ,之后添加一个自己的模板组,我的是myGroup,然后是添加自己的快速注释快捷键等等,关于如何添加这个的过程大家可以在网上搜到很多,我就不多说了。
2020-08-17 18:03 IDEA版本 2019.2.4
1. 最近利用javadoc 工具生成注释,发现原来注解中的 “:” 不能有。
2. 原本方法注释中返回值为空也有return,根据javadoc,无返回值不应该写return。
方法注释:
代码语言:javascript复制* $param$
* @author ***
* @createDate $date$ $time$ $return$
*/
return对应的groovy脚本:
代码语言:javascript复制groovyScript("def params="${_1}"; if(params=='void'){return '';} else {return '\nt * @return ' params}", methodReturnType())
param对应的groovy脚本:
代码语言:javascript复制 groovyScript("def result='\n'; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i ) {if(i == 0 && params[i] == ''){return '';};result =' * @param ' params[i] ((i < params.size() - 1) ? '\n' : ' ')}; return result", methodParameters())
2020-05-15 14:30 最新更新
fix: 修复了空参方法注释的bug,一直没有修改,贴出最新的。
*** 还是,右面要勾选 reformat according to style 选项 ***
快速粘贴方法注释:
代码语言:javascript复制* $param$
* @author: Kangxiaoan
* @createDate: $date$ $time$
* @return: $return$
*/
注意:第一行是有一个空行的,至于为什么,大家可以把空行去掉试一试。
param 对应的default value 如下
代码语言:javascript复制groovyScript("def result='\n'; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i ) {if(i == 0 && params[i] == ''){return '';};result =' * @param ' params[i] ((i < params.size() - 1) ? '\n' : '')}; return result", methodParameters())
整体分割线,下面的内容是博主历史变更记录,博主比较怀旧。。错了也不想改。。。
2019年5月17日补充
看到说添加注释后,换行的时候会出现缩进问题,今天我重新安装idea后也出现了相同的问题。这里发下解决方法:
大家看看右侧第一个打勾的选项<Reformat according to style>,有相同问题的可以试试。
2019年12月25日补充
为了方便复制,把代码贴出来,注意,第一行都是有空行的,其他的大家可以根据自己的需求改的。
代码语言:javascript复制$param$
* @author:
* @Date: $date$
* @return: $return$
*/
顺便吧网上找的类注释贴一下,我才用的是/**cc然后tab,可能每个人都不一样,可以参考一下IDEA 创建类注释模板和方法注释模板 – 简书
代码语言:javascript复制* @Description
* @author: Kangxiaoan
* @version
* @date: $date$
*/
敲黑板,重点来了,对于新手来说,如何配置下面这部分无疑很困难,
— 这里我下面做了个修改
图二
注意param这里。这个就是自动生成参数,我之前在网上搜了很多配置自动参数的文章,发现大多数都差不多一样的,都是用的groovy脚本进行自定义,
定义模板方法:
选择上图中右上角的Edit variables,如下图所示
图三
这里需要把这段代码
代码语言:javascript复制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())
赋值到param 对应的Default value 列,有很多文章告诉复制到Expression???
*** 敲黑板***
但是问题来了,我至今看的文章脚本都是出奇的一致,也导致后面的问题,我生成的参数格式不正确,我试了很多次。。搜了很多次,都没有卵用。然后我生气了,我自己研究了一下.我把这段脚本放到了groovy环境,格式化研究了一下。
图四
这里是我格式化后的代码,然后for循环下的两个if是我根据自己需求加的,有些人应该会发现我图二中param的位置是紧跟着上一个参数的,其实这看groovy脚本那段代码就好,可以自己试试看最后的返回结果样式,我放到上一个参数后面,是为了能在没有参数时,不显示空行。大家可以多试试。
下面是经过我改良的脚本代码,才疏学浅,有错忘指正
代码语言:javascript复制groovyScript("def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i ) {if(params[i] == '') return result;if(i==0) result = '\n'; result =' * @param ' params[i] ((i < params.size() - 1) ? '\n' : '')}; return result", methodParameters())
总结:我发先好像很多文章,都是大家抄过来抄过去的,其实截图与内容不符,我只想说一句,你们发文章的时候自己试过了么,能不能不要坑菜鸟,哦,或许也可以理解为是为了激励我们么?但这似乎不是你不负责任的理由吧。我真的很气。。
有问题的可以留言交流一下,希望大家写文章都要亲自尝试,而不是想当然的结果,其实菜鸟们有时会因为操作结果和文章不一样而显得很迷茫。所以,大佬们行行好,别让我们把太多的时间浪费在迷茫上。
看很多小伙伴回复说模板有问题,啊,我贴一下现在用的配置
现在我使用的时候会/**mc然后 tab直接生成注释,一直用的,感觉还好吧。。其实我写这篇只是想把自己踩的坑说出来,希望和我一样的人能避免这个问题,主要还是要大家自己自己研究一下这个模板脚本的写法,然后写出适合自己的东西–
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。