IDEA类和方法注释模板,配置方法注释@param时自动参数的问题,亲自实践总结有效。

IDEA 专栏收录该内容
2 篇文章 0 订阅

文章有点长了,为了方便大家快速使用,直接把配好的方法放到最上面,有兴趣的可以继续向下看完。

添加注释模板方法:CTRL+ALT+S(或者File -> Setting) 打开设置,搜索Live Templates  如下图一所示:

图一

然后点击图二中所示“+”号,添加模板组,如图二所示:

图二

我自己创建的是mygroup,然后点击添加live Template 添加类注释和方法注释。如图三所示:

图三

类注释:

图中的1号位置是注释快捷键,例如我配的是“cc”,打注释时就是用“/**cc -> Enter”,方法注释同理就是"/**mc -> Enter"。

重点:右侧的"Reformat according to style" 会自动格式化注释,如果有缩进问题请勾选,对方法注释一样。

​

*
* @author ***
* @createDate $date$ $time$
*/

​

类注释我写的比较简单,可以参考IDEA 创建类注释模板和方法注释模板 - 简书

$date$和$time$都是变量 点击Edit variables,参考下图配置

方法注释:


* $param$
* @author ***
* @createDate $date$ $time$ $return$
*/         

增加了智能返回值。

方法注释和类注释的差别在于param字段是自己写的groovy脚本,如图所示,复制字符串到对应位置即可。

return对应的groovy脚本:

groovyScript("def params=\"${_1}\"; if(params=='void'){return '';} else {return '\\n\t * @return ' + params}", methodReturnType())

不需要return的这个的话可以选择自带函数就可以。

param对应的groovy脚本:

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。

方法注释:


* $param$
* @author ***
* @createDate $date$ $time$ $return$
*/

return对应的groovy脚本:

groovyScript("def params=\"${_1}\"; if(params=='void'){return '';} else {return '\\n\t * @return ' + params}", methodReturnType())

param对应的groovy脚本:

    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 选项 *** 

快速粘贴方法注释:


* $param$
* @author: Kangxiaoan
* @createDate: $date$ $time$
* @return: $return$
*/

注意:第一行是有一个空行的,至于为什么,大家可以把空行去掉试一试。

param 对应的default value 如下

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日补充

为了方便复制,把代码贴出来,注意,第一行都是有空行的,其他的大家可以根据自己的需求改的。


$param$
* @author: 
* @Date: $date$
* @return: $return$
*/

顺便吧网上找的类注释贴一下,我才用的是/**cc然后tab,可能每个人都不一样,可以参考一下IDEA 创建类注释模板和方法注释模板 - 简书


* @Description
* @author: Kangxiaoan
* @version
* @date: $date$
*/

敲黑板,重点来了,对于新手来说,如何配置下面这部分无疑很困难,

-- 这里我下面做了个修改

图二

注意$param$这里。这个就是自动生成参数,我之前在网上搜了很多配置自动参数的文章,发现大多数都差不多一样的,都是用的groovy脚本进行自定义,

定义模板方法:

选择上图中右上角的Edit variables,如下图所示

图三

这里需要把这段代码

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脚本那段代码就好,可以自己试试看最后的返回结果样式,我放到上一个参数后面,是为了能在没有参数时,不显示空行。大家可以多试试。

下面是经过我改良的脚本代码,才疏学浅,有错忘指正

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直接生成注释,一直用的,感觉还好吧。。其实我写这篇只是想把自己踩的坑说出来,希望和我一样的人能避免这个问题,主要还是要大家自己自己研究一下这个模板脚本的写法,然后写出适合自己的东西--

©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值