IDEA这样配置注释模板-开发必备

本文详细介绍了如何在IntelliJ IDEA中配置和使用类注释及方法注释模板,包括设置作者、日期等信息,并通过Live Templates自定义方法注释模板,实现根据形参和返回值自动生成注解。此外,还解答了关于模板配置的一些常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、类注释

打开 IDEA 的 Settings,点击 Editor-->File and Code Templates,点击右边 File 选项卡下面的 Class,在其中添加图中红框内的内容:

/**
 * @author jitwxs
 * @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
 */

在我提供的示例模板中,说明了作者和时间,IDEA 支持的所有的模板参数在下方的 Description 中被列出来。

保存后,当你创建一个新的类的时候就会自动添加类注释。如果你想对接口也生效,同时配置上图中的 Interface 项即可。

二、方法注释

  • 根据形参数目自动生成 @param 注解

  • 根据方法是否有返回值智能生成 @Return 注解

相较于类模板,为方法添加注释模板就较为复杂,首先在 Settings 中点击 Editor-->Live Templates

点击最右边的 +,首先选择 2. Template Group... 来创建一个模板分组:

在弹出的对话框中填写分组名,我这里叫做 userDefine:

然后选中刚刚创建的模板分组 userDefine,然后点击 +,选择 1. Live Template

此时就会创建了一个空的模板,我们修改该模板的 AbbreviationDescription 和 Template text。需要注意的是,Abbreviation 必须为 *,最后检查下 Expand with 的值是否为 Enter 键。

上图中· Template text 内容如下,请直接复制进去,需要注意首行没有 /,且 \* 是顶格的

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

注意到右下角的 No applicable contexts yet 了吗,这说明此时这个模板还没有指定应用的语言:

点击 Define,在弹框中勾选Java,表示将该模板应用于所有的 Java 类型文件

还记得我们配置 Template text 时里面包含了类似于 $date$ 这样的参数,此时 IDEA 还不认识这些参数是啥玩意,下面我们对这些参数进行方法映射,让 IDEA 能够明白这些参数的含义。点击 Edit variables 按钮:

为每一个参数设置相对应的 Expression

需要注意的是,date 和 time 的 Expression 使用的是 IDEA 内置的函数,直接使用下拉框选择就可以了,而 param 这个参数 IDEA 默认的实现很差,因此我们需要手动实现,代码如下:

groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())

另外 return 这个参数我也自己实现了下,代码如下:

groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())

注:你还注意到我并没有勾选了 Skip if defined 属性,它的意思是如果在生成注释时候如果这一项被定义了,那么鼠标光标就会直接跳过它。我并不需要这个功能,因此有被勾选该属性。

点击 OK 保存设置,大功告成!

三、检验成果

3.1 类注释

类注释只有在新建类时才会自动生成,效果如下:

3.2 方法注释

将演示以下几种情况:

  1. 无形参

  2. 单个形参

  3. 多个形参

  4. 无返回值

  5. 有返回值

四、Q & A

(1)为什么模板的 Abbreviation 一定要叫 \* ?Expand with 要保证是 Enter 键?

答:因为 IDEA 模板的生成逻辑是 模板名 + 生成键,当生成键是 Enter 时,我们输入 * + Enter 就能够触发模板。

这也同时说明了为什么注释模板首行是一个 * 了,因为当我们先输入 /*,然后输入 * + Enter,触发模板,首行正好拼成了 /**,符合 Javadoc 的规范。

(2)注释模板中为什么有一行空的 \*

答:因为我习惯在这一行写方法说明,所以就预留了一行空的写,你也可以把它删掉。

(3)注释模板中 $time$$param$ 这两个明明不相干的东西为什么紧贴在一起?

答:首先网上提供的大部分 param 生成函数在无参情况下仍然会生成一行空的 @param,因此我对param 函数的代码进行修改,使得在无参情况下不生成 @param,但是这就要求$param$ 要和别人处在同一行中,不然没法处理退格。

(4)为什么 return 参数不使用 methodReturnType(), 而要自己实现?

答:methodReturnType() 在无返回值的情况下会返回 void,这并没有什么意义,因此我对 methodReturnType() 返回值进行了处理,仅在有返回值时才生成。

(5)为什么 $return$ 不是单独一行?

答:因为当 methodReturnType() 返回 null 时,无法处理退格问题,原因同第三点。

 

 

 

 

 

 

 

 

 

 

 

<think>好的,我现在需要帮助用户解决如何在IntelliJ IDEA中自定义代码注释模板的问题。首先,我要回忆一下自己之前对IDEA的了解,以及相关的引用资料。用户提供的引用内容有三个,都是关于配置注释模板的步骤,我需要仔细看看这些引用,然后整理出一个清晰的步骤指南。 首先,引用[1]提到打开设置(Preferences/Settings),这是配置模板的第一步。接下来,引用[2]和[3]详细说明了如何设置不同的注释模板,比如文件头注释和方法注释。用户可能想了解如何自定义类注释、方法注释以及文件头注释,所以需要分别说明这几个部分。 接下来,我需要确认用户的需求。用户的问题是关于设置代码注释模板的方法或示例,所以需要分步骤说明,并且可能包括类、方法和文件头的不同配置方式。需要确保步骤清晰,符合IDEA的不同版本,但可能需要注意版本差异,不过用户没有提到具体版本,所以保持一般性步骤。 然后,引用[3]中的例子展示了如何自定义类模板,包括包名、作者、日期和描述等信息。这可以用来作为类注释模板的示例。而方法注释模板可能涉及到在方法前输入/**然后按Enter生成,如引用[2]提到的,修改Expand with为Enter,这样生成方式更符合习惯。 另外,文件头注释配置可能在“File and Code Templates”里,比如在新建类时自动添加注释,这部分需要指导用户如何找到对应的设置位置,并插入变量如${DATE}、${USER}等。 需要检查是否有遗漏的步骤,比如如何应用更改,或者是否需要重启IDEA,但通常设置是即时生效的。此外,提醒用户变量的大小写是否正确,比如${NAME}对应类名,${DATE}显示当前日期等。 还要考虑用户可能遇到的问题,例如变量不生效,这时候可能需要确认变量是否正确书写,或者是否需要使用特定的语法。例如,引用[3]中的例子用了#parse来引入文件头,这可能涉及到其他模板的配置。 最后,生成相关问题,可能需要围绕模板配置的更多细节、常见问题或高级用法来提问。例如如何添加自定义变量,或者如何在团队中共享模板配置等。 总结下来,回答的结构应该是分步骤的,每个步骤对应不同的注释类型(文件头、类、方法),并包含具体的操作路径和示例代码。同时,引用对应的引用资料来支持每个步骤,确保信息的准确性。</think>在 IntelliJ IDEA 中自定义代码注释模板可以通过以下步骤实现,涵盖文件头、类和方法注释配置: ### 一、配置文件头注释模板 1. **打开设置** 进入菜单栏 `File → Settings`(Windows)或 `IntelliJ IDEA → Preferences`(macOS),在设置窗口中选择 `Editor → File and Code Templates`[^1]。 2. **编辑模板内容** 在 `Files` 标签页下选择需要配置的文件类型(如 `Class`),在右侧编辑区域添加模板变量和注释格式。例如: ```java #if (${PACKAGE_NAME} != "") package ${PACKAGE_NAME}; #end /** * @author ${USER} * @date ${DATE} ${TIME} * @description ${DESCRIPTION} */ public class ${NAME} { } ``` 变量如 `${DATE}` 会自动替换为当前日期,`${USER}` 获取系统用户名[^3]。 --- ### 二、配置方法注释模板 1. **创建实时模板** 在设置中选择 `Editor → Live Templates`,点击右侧 `+` 新建模板组(如 `MyComments`),再新建模板并命名(如 `*`)。 2. **定义模板内容** 在模板文本框中输入: ```java /** * $DESCRIPTION$ * @param $PARAM$ * @return $RETURN$ */ ``` 点击 `Edit Variables` 配置变量表达式: - `DESCRIPTION`:输入提示(如 `"功能描述"`) - `PARAM`:使用表达式 `groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result += ((i == 0) ? '' : ' * @param ') + params[i] + ((i != params.size() - 1) ? '\\n' : '')}; return result", methodParameters())` - `RETURN`:使用表达式 `methodReturnType()`[^2] 3. **设置触发方式** 在右侧 `Options` 中勾选 `Expand with Enter`,使输入 `/**` 后按 `Enter` 自动生成注释[^2]。 --- ### 三、配置文件注释模板 在 `File and Code Templates` 的 `Includes` 标签页下,编辑 `File Header` 模板: ```java /** * Copyright (c) ${YEAR} by ${USER}, All rights reserved. */ ``` 保存后,新建文件时会自动插入此注释[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值