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

文章目录

    • 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.mfbz.cn/a/319480.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 潮流周刊#35:Python JIT 编译器和 Numpy2 即将推出

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…

反序列化提升刷题

例题&#xff1a; <?php //flag is in flag.php highlight_file(__FILE__); error_reporting(0); class Modifier { private $var; public function append($value) { include($value); echo $flag; } public function __invoke(){ …

AcWing 843. n-皇后问题

#include <iostream> #include <cstring> #include <algorithm>using namespace std; const int N 10; int n; int col[N], dg[N N], rdg[N N]; // 列占用// 正对角线占用// 副对角线占用 char table[N][N]; // 棋盘void dfs(int index) {if(i…

大型语言模型综述/总结 LLM A Survey of Large Language Models

A Survey of Large Language Model AbstractINTRODUCTIONOVERVIEW背景LLM的新兴能力LLM的关键技术GPT 系列模型的技术演进 大语言模型资源公开可用的模型检查点或 API常用语料库代码库资源 预训练数据收集架构 论文标题&#xff1a;A Survey of Large Language Model 论文地址&…

ssm基于java的智能训练管理平台论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#x…

Required request parameter ‘ids‘ for method parameter type List is not present]

在写delete方法的时候&#xff0c;出现了bug 于是将RequestParam换成PathVariable 两者有何区别&#xff1f; pathVariable和RequestParam的区别 在Spring MVC框架中&#xff0c;PathVariable 和 RequestParam 是两种用于从HTTP请求中获取参数的注解&#xff0c;它们的区别…

【前后端的那些事】开源!快速上手富文本+富文本图片上传

文章目录 fullText富文本1. 后端接口1.1 定义常量1.2 定义返回实体类1.3 上传图片接口1.4 下载图片接口 2. 前端代码编写2.1 安装2.2 快速使用 3. 配置富文本图片上传地址3.1 配置图片上传配置 4. 全部代码展示 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能…

基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪

目录 完整代码和数据下载链接&#xff1a;基于卡尔曼滤波的视频跟踪&#xff0c;基于卡尔曼滤波的运动小球跟踪&#xff08;代码完整&#xff0c;数据齐全&#xff09;资源-CSDN文库 https://download.csdn.net/download/abc991835105/88738577 卡尔曼滤波原理 RBF的定义 RBF理…

rime中州韵小狼毫 敏感词脱敏滤镜

快速录入&#xff0c;是任何一个输入法&#xff0c;以及输入人员&#xff08;无论是否专业&#xff09;的追求目标之一。现实中&#xff0c;由于各种输入法在录入文本时&#xff0c;都无法完全避免重码的问题&#xff0c;所以在输入过程中都或多或少的需要进行选字/选词操作。这…

camtasia studio2024免费版如何下载?怎么录屏?

camtasia studio怎么录屏&#xff1f;Camtasia Studio是一款专门录制屏幕动作的工具&#xff0c;它能在任何颜色模式下轻松地记录屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等。一般情况下&#xff0c;用户使用camtasia studio进行录屏时&#xff0c;需要注…

计算机网络夯实之路-HTTP详解

了解 Web 及网络基础 根据 Web浏览器地址栏中指定的 URL&#xff0c;Web浏览器从Web服务器端获取文件资源&#xff08;resource&#xff09;等信息&#xff0c;从而显示出 Web 页面。 通过发送请求获取服务器资源的 Web 浏览器等&#xff0c;都可称为客户端&#xff08;clien…

RibbonGroup 添加QRadioButton

RibbonGroup添加QRadioButton&#xff1a; QRadioButton * pRadio new QRadioButton(tr("Radio")); pRadio->setToolTip(tr("Radio")); groupClipboard->addWidget(pRadio); connect(pRadio, SIGNAL(clicked(…

如何使用C++编程使得在Windows和Linux输入密码的时候保密 linux:tcgetattr tcsetattr

在C编程中&#xff0c;在执行一些操作的时候&#xff0c;终端需要接收用户名和密码&#xff0c;那么在终端输入密码的时候&#xff0c;如何不让别人看见自己的密码&#xff0c;是一个较为关注的问题&#xff1b; 1、问题分析 定义一个登录函数Login //用户登录主循环bool Lo…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机的高速图像保存(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机的高速图像保存&#xff08;C&#xff09;&#xff09; Baumer工业相机Baumer工业相机的图像高速保存的技术背景Baumer工业相机通过NEOAPI SDK函数图像高速保存在NEOAPI SDK里实现线程高速图像保存&#xff1a;工业相机高…

(分享) 音乐软件Spotify-声破天8.9.4

​【应用名称】&#xff1a;Spotify-声破天 ​【适用平台】&#xff1a;#Android ​【软件标签】&#xff1a;#Spotify ​【应用版本】&#xff1a;8.8.96 → 8.9.4 ​【应用大小】&#xff1a;67MB ​【软件说明】&#xff1a;软件升级更新。iOS可配合qx小火箭类的工具对…

SpringMVC RESTful

文章目录 1、RESTful简介a>资源b>资源的表述c>状态转移 2、RESTful的实现3、HiddenHttpMethodFilter 1、RESTful简介 REST&#xff1a;Representational State Transfer&#xff0c;表现层资源状态转移。 a>资源 资源是一种看待服务器的方式&#xff0c;即&…

一、Mindspore 公开课 - Transformer

课程链接&#xff1a;Mindspore 技术公开课 Transformer 论文地址&#xff0c;建议看完课程以后简单看看论文 前言 Transformer是一种神经网络结构&#xff0c;由Vaswani等人在2017年的论文“Attention Is All You Need” 中提出&#xff0c;用于处理机器翻译、语言建模和文…

行为型设计模式——命令模式

命令模式 日常生活中&#xff0c;我们出去吃饭都会遇到下面的场景。 定义&#xff1a; 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行存储、传递、调用、增加与管理。命…

【Golang开源项目】Golang高性能内存缓存库BigCache设计与分析

项目地址 BigCache 是一个快速&#xff0c;支持并发访问&#xff0c;自淘汰的内存型缓存&#xff0c;可以在存储大量元素时依然保持高性能。BigCache将元素保存在堆上却避免了GC的开销。 背景介绍 BigCache的作者在项目里遇到了如下的需求&#xff1a; 支持http协议支持 10…
最新文章