背景

java类注释:

  1. 文件生成时需要注释。
  2. 文件修改时需要注释(有时候我们会复制其他的文件过来作为模板,这时候的注释需要重新生成)。

java方法注释:

当我们修改一个方法,或者这个方法的类并不是我们本人创建时,应当注释说明方法的作者,以及创建时间。

类创建时注释

idea livetemplate 方法注释_快捷方式


注:setting-editor- file and code templates -includes -file header

内容:

/**
 描述:
 <p>
 作者: ${USER}
 <p>
 创建时间: ${YEAR}-${MONTH}-${DAY} ${TIME}
*/

类创建后注释

添加模板组:

idea livetemplate 方法注释_应用场景_02


注: editor- live templates 点击右上角的“+” 添加一个模板组 template gloup 取名“FileRemark2”.

选择建好的模板组点击右上角的“+” 添加一个live template,点击出现界面的左下角“Define” ,选择应用场景“Everywhere”。

idea livetemplate 方法注释_自定义_03


填写触发的快捷方式和注释的模板:

idea livetemplate 方法注释_自定义_04

/**
 *@author: $USER$
 *@create: $DATE$ $TIME$
 *@description: 
 */

注:箭头指引表示通过输入/*+ Enter 触发注释生成。

ps:注释是写好了,但是鼠标移动上去,并不会显示…
换成下面就可以了。大概是因为去掉了@

/**
 描述:
 <p>
 作者: ${USER}
 <p>
 创建时间: ${YEAR}-${MONTH}-${DAY} ${TIME}
*/

鼠标右键

idea livetemplate 方法注释_自定义_05

配置模板中的变量值来源:

idea livetemplate 方法注释_应用场景_06


注:点击编辑变量,弹出的表单中在experssion列的下拉框中选择对应的函数。应用保存好,/*+ Enter 触发注释生成:

idea livetemplate 方法注释_自定义_07

方法注释

一种是用groovyScript

网上找到两种方式,一种是用groovyScript:参考“类创建后注释”创建自定义的注释快捷方式,在编辑变量的时候对param使用自定义的脚本。

idea livetemplate 方法注释_应用场景_08


注:应用场景为Java下所有,模板内容如下:

/**
* @author $USER$
* @description $USER$
* @date $date$ $time$ 
* @param $param$
* @return $return$
**/

编辑变量:

idea livetemplate 方法注释_快捷方式_09


groovyScript脚本内容:

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' : '');  
  };  
  return result", methodParameters())

生成效果 /a+enter:

idea livetemplate 方法注释_应用场景_10


注:只有在方法内使用才能把param显示出来另一种是对param使用内置的函数methodParameters():

idea livetemplate 方法注释_快捷方式_11


查看效果:

idea livetemplate 方法注释_自定义_12


注:与上一种方式不同的是 @param [a, b, c] 参数是合在一起的,同样也是必须在方法内才能输出param。

我的方法注释

思考:

脚本方式可以实现param分开,这样好注释,但是两种方式都需要在方法里使用,这就意味着你必须要写好后再切上去。默认的注释除了只有param和return, 是可以在方法头部使用的,它能够获取param。所以我尝试去百度了如何修改默认的生成方法注释,发现没有相关的内容。但是我灵机一动想到了之前用的宏,自定义的注释在宏的配合下加上默认的方法注释不就可以了吗?

什么是宏

简单来说,就是你打开宏开关,它记录你的操作轨迹,你操作完后点关闭。保存这个轨迹,并为它设置一个快捷键。这样使用这个快捷键就会执行你之前的操作轨迹。

默认的方法注释:

idea livetemplate 方法注释_自定义_13


自定义一个注释快捷方式,补全其他的内容:

idea livetemplate 方法注释_应用场景_14

@author $USER$ 
* @description
* @date $date$ $time$
描述:
*<p>作者: $USER$
*<p>时间: $date$ $time$

未使用宏时的,双快捷方式同时使用的“/**+enter 之后 /c+enter ”操作效果:

idea livetemplate 方法注释_快捷方式_15


注:模板是经过了一番格式处理才能得到下面的效果的,刚好两个快捷方式生成的注释能够合并起来。录制宏:

idea livetemplate 方法注释_自定义_16


为宏设置快捷方式:

idea livetemplate 方法注释_应用场景_17


效果演示,光标移到在方法头,键入定义的宏快捷方式shit+A,即可:

idea livetemplate 方法注释_快捷方式_18

注:可以看出有一个明显的两次操作的轨迹。