0


【效率提升】自定义配置IDEA中的Java注释模板

文章目录

1.背景

由于在公司的编码规约中关于注释的规约,在IDEA中的默认模板无法适配,所以在每次新建接口、类、方法的时候都需要手动的修改注释。为了避免这个重复的工作就需要将IDEA中的注释模板修改一下,本篇参考了一些网络上的配置方法,这里总结一下。

2.模板配置

主要需要配置的是类模板与方法模板,下面会写一下配置的方法,以及使用上需要注意的问题。

2.1.配置类模板

在IDEA中找到如下的路径,配置文件模板:

File > Settings > Editor > File And Code Templates

首先是在,includes中找到

File Header

这个配置模板,如果没有的话就新建一个同名文件,然后再右侧的编辑区域写上

@author

@date


其中作者可以像我这样写死,也可以使用下面提示的

${USER

,但后面这种方式会默认使用操作系统的名字(如:Administrator)。
日期的配置可以参考右下角的

Description

中的变量模板,一般只需要配置

$DATE

,我这里由于习惯问题也加上了

${TIME}

在这里插入图片描述


第二步是切换到Files中,找到Java相关的几个文件类型,在右侧的

#parse

那里加上刚刚修改的模板文件的文件名,但这里一般默认就是

File Header.java

,不需要修改,如果你创建了其他的模板,就可以考虑在这里修改一下引用。
在这里插入图片描述


配置完成之后创建一个新的类,效果如下(接口或者枚举也是一样的效果):
在这里插入图片描述

2.2.配置方法模板

接下来是方法模板,在不配置模板的时候使用IDEA的自定义模板是这样的:
在这里插入图片描述
现在同样的想给加上作者和日期,可以按如下的配置,首先还是找到配置路径:

File > Settings > Editor > Live Template

2.2.1. 创建自定义模板分组

先试用

Template Group

创建一个模板分组,写一个好听的名字,然后选中刚刚创建好的分组通过

List Template

创建一个模板。
在这里插入图片描述
在这里插入图片描述

2.2.2. 配置缩写、模板、触发键

在这里插入图片描述
缩写

abbreviation

的意思就是在IDEA的代码编辑页中使用这个缩写,再加上触发键就可以生成对应的模板代码,例如大家都用过的

psvm

+回车键,可以生成

main

方法。

在这里我们将缩写配置为

**

,因为我们在编写文档注释的时候,会在方法上先打出

/**

,这里的两个星号当做缩写就比较自然。

下面的模板配置没有第一个

/

,这是因为在触发键触发后,缩写中的

**

会被模板替代掉,但是

/

不会,如果模板中配置了

/

,生成后则会变成

//**


另外,如果是常量直接写死即可,如果是变量则可以写成

$xxx$

的方式,变量值的配置会在下面的2.2.3 部分去讲。

*** 功能描述
 **$param$* @return$retrun$*@author 挥之以墨
 *@date$date$$time$*/

然后是触发键,在右侧的

Option

中,选择

Tab

或保持

Default(Tab)

也行,这里之所以不选择使用

Enter

是因为使用

/**

给字段创建注释的时候不需要这一堆模板的信息,只需要一个简单的文档注释说明字段是什么含义。
如果使用了

Enter

那么原有的默认生成注释的方式就会被覆盖掉,给字段写注释时,也会自动生成上面配置的模板信息,然后再手动删掉,非常麻烦。
在这里插入图片描述


最后是使用范围,在

Applicable

下面点击

change

,选择

Java > Comment

即可。
在这里插入图片描述

2.2.3. 变量配置

我们在上面的模板中定义了4个变量,可以通过右侧的

Edit Variables

来编辑变量值:
在这里插入图片描述
在这里插入图片描述
其中,下面三个直接使用IDEA自带的表达式即可:

  • return:methodReturnType(),也可以不要这个表达式,保持为空
  • date:date()
  • time:time()
param

参数是一个重点,我在IDEA中没有找到合适的表达式,其中最适合的一个表达式是

methodParameters()

,这个表达式会按照参数的名字生成一个数组,就像这样:
在这里插入图片描述
所以在这里使用了一个

groovy

脚本来生成对应的

@param

注释,我们可以将得到的

[name, age]

值拆解一下,然后在编辑变量里面的

Default Value

中填入:

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

接下来对上面的脚本做一下解释,下面是格式化后的脚本:

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

首先,

methodParameters()

函数会传入一个数组(字符串),

${_1}

就是表示这个数组的引用。

  • 第一步:"${_1}".length() == 2其实就是在判断是否传入了一个空数组[](即方法没有入参)。
  • 第二步:.replaceAllsplit(',')就是把这个字符串重新转换成数组结构
  • 第三步:i==0表示第一个参数,拼接起来就好,i>1时,需要换行并拼接一个*号。

最后看一下效果吧,在方法中输入

/**

并按

tab

键,生成方法注释:
在这里插入图片描述

3.总结

本篇讲解了如何配置类的注释模板和通过代码模板来配置方法注释模板,需要注意缩写、模板、触发键、变量的配置。
其中,变量可以使用IDEA中内置的表达式来匹配变量值,当默认的表达式不满足要求时,也可以使用

groovy

脚本来做一个自定义的函数表达式满足需求。后续如果想要配置其他自定义模板时,也可以参考这套配置方法。

标签: java intellij-idea

本文转载自: https://blog.csdn.net/qq_38249409/article/details/135689269
版权归原作者 挥之以墨 所有, 如有侵权,请联系我们删除。

“【效率提升】自定义配置IDEA中的Java注释模板”的评论:

还没有评论