【idea技巧篇】idea的类注释和方法注释模版自定义设置

这块idea技巧虽然常用,谁没事会经常修改模版设置呢,一般是搭建开发环境的时候或者开发规范要求等设置一次就行了。用的虽然少,但几乎每次搭建环境都会用到,这里记录下并分享设置的过程已经发现的更高级的一些使用技巧。

注释模版

idea默认创建java文件时,是不会生成类注释的,但是一般要求统一格式,需要带上类的注释,下图是一个简单的模版,具体模版可以自定义设置,这里分享下如何设置注释模版。

如何设置

设置文件头方式

效果就是每次创建java文件,会自动带上注释内容。这种方式设置比较简单,只适用于新建Java文件时生效,而且全局统一,推荐使用这种方式进行全局设置。

配置路径:Settings -> Editor -> File and Code Templates -> File Header

配置内容:

java 复制代码
/**
 * 负责实验执行,故障摘除等逻辑
 * @author: wanglianhai
 * @date: 2024/8/9 16:52
 */

效果如下:

可用的变量如下:

预定义变量取以下值:

${PACKAGE_NAME}新文件创建时所属的包名

${USER}当前用户的系统登录名

${DATE}当前系统日期

${TIME}当前系统时间

${YEAR}当前年份

${MONTH}当前月份

${MONTH_NAME_SHORT}当前月份名称的前三个字母。例如:Jan, Feb等

${MONTH_NAME_FULL}当前月份的全名。例如:January, February等

${DAY}当前月中的日期

${DAY_NAME_SHORT}当前星期名称的前三个字母。例如:Mon, Tue等

${DAY_NAME_FULL}当前星期的全名。例如:Monday, Tuesday等

${HOUR}当前小时

${MINUTE} 当前分钟

${PROJECT_NAME} 当前项目名称

通过模版自定义

Live Template这种方式可以自定义很多模版以及快捷的设置,而且可以参考注释模版的设置,然后去拓展定义其他模版。

  1. 配置路径:settings -> Editor -> Live Templates,如下图:
  2. 创建Template

    模版:
java 复制代码
/**
* Description: <br/>
* @date: $DATE$ $TIME$<br/>
* @author: your name <br/>
* @since JDK 1.8
*/
  1. 看到其中有DATE和TIME变量,还需编辑变量,同理参考这种方式,可以设置用户名等其他变量,内置了很多变量,下拉可以查看。
  2. 效果:

    回车生成注释内容

进阶使用

设置变量函数,上一篇已经看到有内置的函数了,同时我们也可以自定义自己的函数如下图:

我们尝试设置JavaDoc格式的方法注释模版:

模版内容,注意下面内容是只有一个*,这样快捷键可以设置成*, 不然会取不到方法参数。

java 复制代码
*
 * @description
 * @author xiaohei 
 * @date $date$ $time$
 * @param $param$
 * @return $return$
 **/

获取参数param的脚本:

groovy 复制代码
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())

获取返回值脚本:

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

其他Live Template

参考如下,可以设置各种编程语言的快捷键已经自动生成的内容,参考如下图:

常见的模版内容参考

类注释模版

最简单的类注释模版, 我一般使用这种,比较简介明了,生成完添加下类的功能说明就好了,需要其他信息可以

java 复制代码
/**
 * 
 * @author: xiaohie
 * @date: ${DATE} ${TIME}
 */

复杂一点的

java 复制代码
/**
 * @className: XXDemo
 * @description: 演示使用
 * @author: xiaohei
 * @date: $date$ $time$
 **/

方法注释模版

我一般就用默认的就够了,如果需要调整可以参考以下几种模版:

java 复制代码
*
 $param$
 * @description: TODO
 * @return: $return$
 * @author: xiaohei
 * @date: $date$ $time$
 */
相关推荐
better_liang5 小时前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
小江的记录本6 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码6 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
better_liang6 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit6 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
ZhengEnCi8 小时前
01-如何监听接口调用情况?
java·spring boot·后端
JAVA面经实录9179 小时前
MyBatis学习体系
java·mybatis
java1234_小锋9 小时前
在 Spring AI 中如何实现函数调用(Function Calling)?请说明其基本原理和应用场景。
java·人工智能·spring
小马爱打代码9 小时前
Spring源码 第九篇:Spring 5 源码深度拆解 - Spring 事件驱动模型
java·后端·spring
ForgeAI码匠10 小时前
ForgeAdmin|Spring Boot 3 后台框架的自动配置设计:少写配置,多做组合
java·spring boot·后端