idea类和方法注释模版设置

一、背景

通常在开发过程中,需要对类和方法进行注释,以便代码可读性及jdoc文档生成,但基本设置一次便后续无需关注或调整,此文主要进行记录下设置过程,以及个人常用的注释模版。以下操作流程以idea 2023.2版本说明,其他版本除了菜单路径几乎无差别。

二、类注释模板

1、IntelliJ IDEA-->settings-->Editor-->File and Code Templates-->Files

说明:(本文以Class文件为例,不同的同学可能需要针对Interface或Enum等其他具体的文件类型进行设置不同的模版,整体过程是一样的,可参考Class设置过程,其他类型本文不再赘述)

我们选择Class文件

(1)${NAME}:设置类名,与下面的${NAME}一样才能获取到创建的类名

(2)TODO:代办事项的标记,一般生成类或方法都需要添加描述

(3)${USER}、${DATE}、${TIME}:设置创建类的用户、创建的日期和时间

(4)1.0:设置版本号,一般新创建的类都是1.0版本,这里写死就可以了

效果如下:

为了便于同学会手动输入,模版贴入文中

/**
 * @Description: TODO
 * @Author: ${USER}
 * @Date: ${DATE} ${TIME}
 * @Version: 1.0
**/

【注意】

如果想应用全部文件,直接在Include添加即可,如下图。这时需注意如果针对class等文件已单独配置,会出现两个注释内容,记得清除重复的配置哟,因为它们会同时生效。

三、方法注释模板

1、定位路径

IntelliJ IDEA-->settings-->Editor-->Live Templates  

2、新建模版

说明:当前idea版本自带user分组,可不需要额外创建group,可以直接在user分组下定义个性化模版

点击+号新建模板

命名为* ,不建议使用/开头进行命名,,会导致变量定义的表达式无法生效,例如获取方法参数的methodParameters()、获取方法返回值的methodReturnType()

其他可根据个人习惯进行定义,本人习惯通过 /*+Enter方式生成注释,因此定义模版名称为*,快捷方式为Enter

因为IDEA生成注释的默认方式是:/*+模板名+快捷键(比如若设置模板名为add快捷键用Tab,则生成方式为/*add+Tab),如果不采用这样的生成方式IDEA中没有内容的方法将不可用,

3、设置快捷键

设置生成注释的快捷键,图中模版快捷键可根据个人习惯进行设置,本文为Enter

4、设置模板内容

注意第一行,只有“**”而不是“/**”,发现完整的注释缺少一个“/”。因为上面提到个人习惯生成注释时,会通过输入“/*”+Enter键进行生成,*是模版名称,Enter触发对应的模版生成,前置输入的“/” + 模版内容形成完整的注释内容

说明:在设置参数名时必须用${参数名}$的方式,否则表达式读取不到你设置的参数名

**
 * @description TODO
 * @param $param$
 * @return $return$
 **/

可以根据个人需要增加或删减其他参数,例如@Date $time$ $date$ ,@Author等,效果如下

5、变量定义

效果图如下:

Name:Template text中的变量名,就是双$符中间的变量。
Expression: 是变量如何获取的表达式。
Default value: 是设置变量的默认值。
Skip if defined: 这一项需要勾选上。

IDEA内置了一些表达式,可以点击Expression项后面的箭头查看。我们可以选择IDEA提供的内置表达式,也可以自己写groovyScript来达到自己想要的效果,写完之后复制粘贴进Expression中即可。

接下来讲解几个常用的:

  • user() 会自动获取系统名。
  • date("yyyy年MM月dd") date()获取年月日的信息,通过传入格式化方式的字符串来自定义日期格式。
  • time("HH:mm:ss") 同date()函数。
  • param return 这两个需要写groovyScript表达式,在下面再讲。

groovyScript表达式

格式:groovyScript("[逻辑判断代码]",[获取参数表达式(此处为IDEA内置)])

本文使用的param 和return对应的表达式为:

groovyScript(
    "def result=' : '; 
    def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); 
    def paramTypes=\"${_2}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); 
    for(i = 0; i < params.size(); i++) {
        result +=  params[i] + ' - [' + paramTypes[i] + ']' + ((i < params.size() - 1) ? ', ' : '')
    }; 
    return result;"
, methodParameters(), methodParameterTypes())
groovyScript("def returnType = \"${_1}\"; def result = ': ' + returnType; return result;", methodReturnType());

IDEA变量表达式使用了groovyScript,上述代码是根据IDEA内置methodParameters()和methodParameterTypes()函数获取的值重新处理的成想要的格式。
其中:methodParameters()函数获取的值格式为:[paramA, paramB]

methodParameterTypes()函数获取的值格式为:[java.lang.Integer, java.lang.String]

上述代码中:

  • ${_1}获取方法参数。${_1}也就是上述代码末尾的methodParameters()
  • ${_2}获取方法参数类型。${_2}也就是上述代码末尾的methodParameterTypes()
  • 本文是通过paramA- [参数类型]格式,多个参数以,分割的方式进行注释,个人可根据自身情况通过groovy脚本修改调整格式

6、设置模版应用范围

点击模板页面最下方的警告,来设置将模板应用于那些场景,一般选择EveryWhere-->Java即可

(如果曾经修改过,则显示为change而不是define)

  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值