【IDEA】瑞_IDEA模版注释设置_IDEA自动生成注释模版(详细图文步骤)

news2025/2/25 10:35:30

文章目录

    • 1 概要
    • 2 类的自定义模版注释
    • 3 自定义模版注释
      • 3.1 方法的自定义模版注释
      • 3.2 属性的自定义模版注释

🙊 前言:在Java开发中,注释具有不可或缺的重要性,注释负责解释代码,能帮助开发人员深入理解代码的逻辑和功能,可以提高代码的可读性,使其他开发者能更容易地理解和使用你的代码。而IDEA中自带的默认注释模板过于简单,所以本文将带大家设置IDEA自定义的类和方法注释的模版




1 概要

  根据《Java开发手册》(九) 注释规约第一条中强制规定了:类、类属性、类方法的注释必须使用 Javadoc 规范,使用/** 内容*/格式,不得使用// xxx 方式。这样可以是开发者在 IDEA中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。而在《Java开发手册》(九) 注释规约第三条中强制规定所有的类都必须添加创建者和创建日期,如下图所示:
在这里插入图片描述

  而IDEA中默认给出的注释模版生成的注释过于简单,没有创建者、创建日期等信息,但我们可以通过设置IDEA中的模版注释,设置自定义自动生成的注释模版,下图为博主设置的类和方法的注释模版示例效果:

在这里插入图片描述

  在其它类中调用方法rayTest就可以看到如下所示的效果:

在这里插入图片描述

  除了编程规约中强制约定的创建者、创建日期这两个信息是固定的,其它信息如版本号等可以自定义设置。以上示例图是博主的习惯,仅供参考,请大家自定义模版

2 类的自定义模版注释


在这里插入图片描述

  在设置中(快捷键ctrl+alt+s)搜索或者直接如上图找到File and Code Templates设置项,输入自定义内容,也可以直接复制如下代码,记得修改作者名

/**
 * 描述
 *
 * @author LiaoYuXing-Ray
 * @version 1.0
 * @createDate ${DATE} ${TIME}
 **/

  1️⃣ @author 作者名(必备注释项):可以像博主一样写成死字符串,也可以使用函数获取当前计算机用户名 @author `${USER}` 请注意大小写
  2️⃣ @version 版本号(可选注释项):建议像博主一样写死1.0,因为新创建的类没什么特殊情况下就是 1.0 版本
  3️⃣ @createDate 创建时间(必备注释项):根据规约,强制日期的设置统一为yyyy/MM/dd 的格式。所以我们使用函数 ${DATE} ${TIME} 表示即可,至于你喜欢叫date或者createDate还是其它的都行,但建议不要使用中文

3 自定义模版注释

  在设置中(快捷键ctrl+alt+s)搜索或者如下图找到Live Templates设置项,点击+号新建模版组(2 Template Group…)

在这里插入图片描述
  输入模版组的名字并点击OK,由于博主已经创建了Ray模版组,所以OK选项是灰色的,如下图所示:

在这里插入图片描述
  接下来可以在新建的模版组中添加你希望自定义的模版,如方法(/** 内容 */)、属性( /* 内容 */)的模版。


以下步骤必须一致,不然可能存在问题

3.1 方法的自定义模版注释

  1️⃣选择你刚刚创建的模版组,然后点击"+"号新建模版(1 Live Template),如下图所示:

在这里插入图片描述
  2️⃣设置Abbreviation的值为:** ,这个值是后续快速插入模版使用的召唤值(可以自定义)
  3️⃣设置Description的值为:方法注释(可以自定义)

在这里插入图片描述)
  4️⃣设置Template text的值如下代码,由于格式非常容易打错,建议直接复制粘贴后再按自己需求修改

**
 * $end$
 *
 $param$
 * @return $return$
 * @author LiaoYuXing-Ray $date$ $time$
 **/

  5️⃣如下图所示,点击下方的"Define"(第一次定义该模版)或者"Change"(已定义过该模版,现在为修改),设置该模版的使用场景

在这里插入图片描述
  第一次定义某个模版点击"Define"设置该模版的使用场景,如下图所示:

在这里插入图片描述

  6️⃣设置该模版的使用场景,找到Java项进行勾选,如下图所示:

在这里插入图片描述

  7️⃣点击"Edit variables",如下图所示:

在这里插入图片描述
  8️⃣在弹出的"Edit Template Varibles"中填入对应的方法(建议直接复制粘贴图下的代码,尤其是param,非常易错),再点击OK,如下图所示:

在这里插入图片描述

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

// return
methodReturnType()

// date
date()

// time
time()

此步骤非常重要,出错会直接导致自定义模版函数不会生效

  9️⃣选择"Options"中的"Expand with",修改为Space(可自定义),如下图所示:
在这里插入图片描述

  此步骤是设置召唤模版的快捷键,自定义模版的使用是通过步骤2️⃣中设置的 Abbreviation的值如:** 加上 本步骤设置的快捷键即Space(空格键)的组合召唤模版。
  IDEA默认使用的是Enter即使用 /** 加 回车键(Enter)即可快捷进行方法注释,但博主喜欢使用Space(空格键),因为这样设置很方便就能打出方法注释(也许是博主的手太小了,按Enter不方便🌿)总之请按照自己的习惯自定义

  🔟最后一步也是最关键的一步,请记得按❗️Apply❗️

在这里插入图片描述

现在我们可以愉快的在方法上使用 "/** 空格" 召唤我们自定义的方法模版注释了

3.2 属性的自定义模版注释

由于属性和方法的设置基本一致,甚至更简单,所以部分图片就不再展示

  1️⃣选择刚刚创建的模版组,然后点击"+"号新建模版(1 Live Template),
  2️⃣设置Abbreviation的值为:* (可以自定义)
  3️⃣设置Description的值为:属性注释(可以自定义)
  4️⃣设置Template text的值如下代码,由于格式非常容易打错,建议直接复制粘贴后再按自己需求修改

**
 * $end$ $date$ $time$
 */

  5️⃣点击下方的"Define"或者"Change",设置该模版的使用场景
  6️⃣设置该模版的使用场景为Everywhere,由于属性注释是通用的,所以博主直接勾选Everywhere,当然你也可以自定义勾选使用场景
  7️⃣点击"Edit variables"
  8️⃣在弹出的"Edit Template Varibles"中下拉选择填入对应的方法,再点击OK,如下图所示:

在这里插入图片描述
  9️⃣选择"Options"中的"Expand with",修改为Space(可自定义)
  🔟最后一步,记得按❗️Apply❗️

现在我们可以愉快的在属性上使用 "/* 空格" 召唤我们自定义的属性模版注释了,效果如下

在这里插入图片描述

  如果需要修改模版,主要修改第4️⃣步中的"Template text"的内容,如果使用函数要记得在"Edit variables"中设置




本文是博主的粗浅理解,可能存在一些错误或不完善之处,如有遗漏或错误欢迎各位补充,谢谢

  如果觉得这篇文章对您有所帮助的话,请动动小手点波关注💗,你的点赞👍收藏⭐️转发🔗评论📝都是对博主最好的支持~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1383220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

强化学习应用(三):基于Q-learning算法的无人车配送路径规划(提供Python代码)

一、Q-learning算法介绍 Q-learning是一种强化学习算法&#xff0c;用于解决基于环境的决策问题。它通过学习一个Q-table来指导智能体在不同状态下采取最优动作。下面是Q-learning算法的基本步骤&#xff1a; 1. 定义环境&#xff1a;确定问题的状态和动作空间&#xff0c;并…

宝塔面板安装MySQL8数据库

第一步&#xff1a;搜索mysql 第二步: 点击安装 我这里选择安装8版本 第三步&#xff1a;给宝塔配置mysql防火墙 第四步&#xff1a;修改数据库密码 第五步&#xff1a;想要使用navicat连接 需要修改root的权限 &#xff08;1&#xff09;使用secureCRT先登录mysql (2) 输入u…

Sentinel限流、熔断

1、限流 单个服务节点限流 sentinel 提供了两种不同的隔离机制&#xff1a;信号量隔离和线程池隔离&#xff0c;它们的主要区别如下&#xff1a; 信号量隔离&#xff08;Semaphore Isolation&#xff09;&#xff1a; 原理&#xff1a;信号量隔离基于计数器&#xff08;或称令…

电池均衡管理

一、前言 在电芯批量生产过程中&#xff0c;由于原料及生产工艺的波动&#xff0c;电芯的容量、内阻、电压及自放电率均会有一定的偏差&#xff0c;同时在电芯使用过程中随着充放电循环次数增加及存储时间、温度等影响&#xff0c;电芯容量衰减也会出现不一致&#xff0c;导致在…

有趣可操控的无人机足球大赛首次亮相,CES2024上的那些黑科技(二)

今年的CES2024&#xff08;国际消费电子展&#xff09;可谓是黑科技的盛宴&#xff0c;前天我们分享了5个有意思的产品&#xff0c;今天继续带来5个&#xff0c;一同探寻那些令人兴奋的黑科技&#xff0c;让我们的未来更加有趣和智能。 1400元巴掌大小AI硬件&#xff0c;首日卖…

STM32之OLED显示

一、模块介绍 1、常见的显示设备 LED、数码管、点阵、LCD屏(1602/12864)、OLED屏(消费电子) 2、OLED屏的概述 OLED&#xff0c;即有机发光二极管&#xff08;Organic Light-Emitting Diode&#xff09;&#xff0c;又称为有机电激光显示&#xff08;Organic Electroluminesenc…

4、C语言:指针与数组

数组与指针 指针与地址指针与函数参数指针与数组地址算数运算字符指针与函数指针数组以及指向指针的指针多维数组命令行参数指向函数的指针复杂声明 指针是一种保存变量地址的变量。C语言中&#xff0c;指针的使用非常广泛&#xff0c;原因之一是&#xff0c;指针常常是表达某个…

IaC基础设施即代码:使用Terraform 连接 alicloud阿里云

目录 一、实验 1.环境 2.alicloud阿里云创建用户 3.Linux使用Terraform 连接 alicloud 4.Windows使用Terraform 连接 alicloud 二、问题 1.Windows如何申明RAM 相关变量 2.Linux如何申明RAM 相关变量 3. Linux terraform 初始化失败 4.Linux terraform 计划与预览失败…

[ACM算法学习] 诱导排序与 SA-IS算法

学习自诱导排序与SA-IS算法 - riteme.site 为了简化一些操作&#xff0c;定义 # 是字典序最小的字符&#xff0c;其字典序小于字母集里任意字符&#xff0c;并且将其默认作为每个字符串的最后一个字符&#xff0c;即作 S[|S|] SA-IS 算法 SA-IS 算法是基于诱导排序这种思想。…

React入门 - 06(TodoList 列表数据的新增和删除)

本章内容 目录 一、实践一下 React 的列表渲染二、TodoList 新增功能三、列表循环的 key四、删除 上一节内容我们完成了输入框中可以自由输入内容&#xff0c;这一节我们继续 TodoList功能的完善&#xff1a;列表数据的新增和删除。 在开始之前&#xff0c;我们先介绍一下 Re…

java实现教务管理系统

git地址&#xff1a;https://gitee.com/myshort-term/school-management 1.系统简介 开发教务管理系统程序&#xff0c;设计了ems&#xff08;EMSApp&#xff09;、dao&#xff08;AssignmentDAO、CourseDAO、DeptDAO、ScoreDAO、UserDAO、EmailDAO&#xff09;、domain&#…

优雅草蜻蜓API大数据服务中心v1.0.4更新-加入蓝奏云直链解析·每日Bing·字数统计·今日油价·历史上的今天等接口

2024年1月13日优雅草蜻蜓API大数据服务中心v1.0.4更新-加入蓝奏云直链解析每日Bing字数统计今日油价历史上的今天等接口 优雅草api服务-大数据中心自12月29日推出以来截止2024年1月13日累计被调用次数为413次&#xff0c;共收录23个接口&#xff0c;截止前一日2024年1月12日当…

一元二次方程虚数解

对一元二次方程axbxc0 (a≠0)&#xff1b;若判别式△b-4ac<0,则方程无实根,虚数解为&#xff1a;x(-b i√(4ac-b))/(2a)。 只含有一个未知数&#xff08;一元&#xff09;&#xff0c;并且未知数项的最高次数是2&#xff08;二次&#xff09;的整式方程叫做一元二次方程[1] …

SpringCloud:微服务

文章目录 微服务服务架构演变单例架构&#xff08;集中式架构&#xff09;分布式架构 微服务SpringCloud 微服务 服务架构演变 单例架构&#xff08;集中式架构&#xff09; 单例架构&#xff1a; 将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署 优点&…

CSS基础笔记-05layout

CSS基础笔记系列 《CSS基础笔记-01CSS概述》《CSS基础笔记-02动画》《CSS基础笔记-03选择器》《CSS基础笔记-04cascade-specificity-inheritance》 文章目录 CSS基础笔记系列什么是CSS布局布局方法normal flowflexboxgridfloats 总结 什么是CSS布局 CSS布局是指在页面中对元素…

信息质量要求

目录 \quad 会计信息质量要求 会计核算的信息质量要求是对会计核算提供信息的基本要求,是处理具体会计业务的基本依据&#xff0c;是在会计核算前提条件制约下进行会计核算的标准和质量要求。 \quad \quad 可靠性 也就是真实性, 要求会计记录以实际凭证为依据如实反映财务状况和…

Compileflow工作流引擎使用讲解

文章目录 1 Compileflow1.1 简介1.2 特点1.3 Compileflow插件下载1.4 main方法调用1.4.1 pom.xml1.4.2 新建bpm文件1.4.3 各个节点绑定方法1.4.4 测试方法 1.5 bpm各个标签说明1.5.1 BPM根节点1.5.2 全局变量1.5.3 开始节点: start1.5.4 结束节点: end1.5.5 自动节点: autoTask…

关于Quartz远程调用服务方法失败如何解决,@Inner详细介绍

1.单独在要调用服务的controller写上相关方法&#xff08;Inner(value true)要走aop&#xff0c;会检测是否有内部调用标识&#xff09;具体见下述 2. 编写Feign远程调用的接口&#xff0c;注意加上RequestHeader(SecurityConstants.FROM) String from。因为inner(value true…

带你拿捏SpringBoot自动装配的核心技术?模块装配(@EnableXXX注解+@Import)+ 条件装配(@ConditionalXXX)

文章目录 Profile激活指定配置文件主配置文件中指定激活的profile命令行激活设置虚拟机参数激活 profile控制不到的地方 Spring原生的条件装配注解ConditionalConditional接口讲解案例讲解 Spring Boot封装的条件装配注解ConditionalXXX自己实现ConditionalOnBeanSpringBoot 源…