IDEA 设置类注释模板作者、日期、描述等信息(推荐标准!)

idea注释模版配置

idea作为越来越多程序员使用的开发工具,平时的代码注释也非常的关键,类上注释和方法上注释每次换电脑或者新同事入职都要统一修改,找了网上好多教程都写的乱七八糟的啥都有,为方便统一就自己写一个操作方法,方便大家的开发配置,同时也为自己以后配置留一份记录(毕竟每次换环境都需要重新配置一遍)

1、新建类的时候自动添加类注释

打开设置

  • (1)File -> Settings ,打开设置窗口输入Templates
  • (2)找到File and Code Templates 模板配置
  • (2)选择右侧的Files选项卡,选择位置3的Class
  • (3)在最右侧的输入栏中,输入位置4框住的一段注释代码,然后点击保存即可

将以下代码Author改为你的信息,然后复制到4中,

/**
*@Author: 马超伟
*@CreateTime: ${YEAR}-${MONTH}-${DAY}
*@Description: ${description}
*@Version: 1.0
*/
  • (4)可选:(如果需要设置接口和枚举的注释模版,只需要在第3步的Class换成InterfaceEnum,按照步骤4配置一下就ok了)

模版配置示例如下:

在这里插入图片描述
设置好后每次创建class文件会弹两次窗口,一次是文件命名,一次是类描述

实际生成效果:
在这里插入图片描述

2、自定义模版配置(类,方法)

IDEA 可以很简单的自定义类的注释模板,但是对于自定义方法注释模板并不是那么的友好。在网上查看了很多方法注释模板,但大多数都是需要写在方法里面,再copy到外面,不然就无法读取到方法参数。本文实现了在方法外通过/**注释的模板。

实现方法

File-Setting-Editor-LiveTemplates-右上角+号-组命名-再次点击右上角+号在该组中新建自定义方法注释
IDEA设置方法注释模板
新建Template Group,名字可以随便取, 我这里就叫MyGroup.
然后创建Live Template
 
 配置的内容:

1)Abbreviation:模板的缩写,可以是【/】【/**】【】等,看个人习惯了,主要是生成注释的快捷提示符,后面会说怎么用。

2)Description:模板的描述,方便自己以后查找,比如写:方法注释。

3)Template text:模板的内容,参数名用$ 参数名 $ 格式。

4)Options→Expand with:模板的扩展快捷键,可以按照个人习惯选择,有人喜欢用【Tab】键我用的是【Enter】键,后面会介绍用法。

4、配置模板格式,格式如下所示,我这样写能在方法上方生成注释。有人说第一行不要带/,但我试了试好像拿不到param,所以这种格式是我测试过的。

/** @Description: $description$ $params$* @return: $returns$* @Author:  $USER$* @date:  $date$ $time$*/

请按照下图说标序号顺序进行配置,
在这里插入图片描述
  如上,配置自己想要的格式.

5、设置变量参数

点击步骤5中的Edit variables,列表中显示的就是刚刚配置的模板的参数 $参数名$,在Expression中下拉选择方法为其赋值;对于 $params$ 参数需要注意,IDEA给我们默认的是methodParameters()方法,这个方法是把形参显示在一行,我们需要的是一行一个参数这样显示,可以通过自定义脚本实现,把下面的脚本复制到Default value中,即可。

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

在这里插入图片描述

6、设置应用场景

我主要写Java,那就在这里勾选Java类型就好了。
在这里插入图片描述

7、测试效果

点击OK就可以完成配置,以上就配置完成。使用的时候,先创建一个方法,然后在方法外上一行中输入 /** 点击Enter键,就自动生成了对应的注释,最终效果如下:
在这里插入图片描述

生成注释后报Wrong tag 'Description’解决方法

将自己定义的标签加入到这里就好了,不过手动点击黄色的tag,idea也会自动机加入到这里,我添加到这里的标签如下:

用逗号分割每一个tag

Description:,Version:,CreateTime:,Auther:,param,param:,description:,date:,

在这里插入图片描述
最后点击apply并ok确定即可

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis入门到通关之ZSet命令

文章目录 ⛄概述⛄常见命令有⛄RedisTemplate API❄️❄️ 向集合中插入元素&#xff0c;并设置分数❄️❄️向集合中插入多个元素,并设置分数❄️❄️按照排名先后(从小到大)打印指定区间内的元素, -1为打印全部❄️❄️获得指定元素的分数❄️❄️返回集合内的成员个数❄️❄…

网络安全-自学笔记

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员&#xff08;以编程为基础的学习&#xff09;再开始学习 我在之前的回答中&#xff0c;我都一再强调不要以编程为基础再开始学习网络安全&#xff0c;一般来说&#xff0c;学习编程不但学习周期长&#xff0c;而…

Springboot+Vue项目-基于Java+MySQL的免税商品优选购物商城系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

PCIe错误定义与分类

前言&#xff1a; PCI总线中定义两个边带信号&#xff08;PERR#和SERR#&#xff09;来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误&#xff08;Parity Error&#xff09;&#xff0c;而SERR#主要对应的是系统错误&#xff08;System Error&#xff09;。具体如下…

蓝桥杯备赛:考前注意事项

考前注意事项 1、DevCpp添加c11支持 点击 工具 - 编译选项 中添加&#xff1a; -stdc112、万能头文件 #include <bits/stdc.h>万能头文件的缺陷&#xff1a;y1 变量 在<cmath>中用过了y1变量。 #include <bits/stdc.h> using namespace std;// 错误示例 …

山姆·奥特曼是如何成为亿万富豪的?

2017年夏天&#xff0c;Superhuman公司首席执行官拉胡尔沃拉&#xff08;Rahul Vohra&#xff09;开始疯狂向投资者一一发消息&#xff0c;缘由是他的初创公司尝试了谷歌浏览器Chrome的一项即将推出的更新。由于一个看似无害的代码更改&#xff0c;Superhuman的智能电子邮件服务…

openstack-云主机 5

配置openstack网络&#xff08;neutron&#xff09;服务 创建neutron用户 创建服务实体并为其创建三个endpoint 公共网络的安装和配置(控制节点的配置) 配置ML2插件 配置Linuxbridge代理 配置DHCP代理 配置元数据代理 为计算节点配置网络服务 完成安装 启动并设置开机自启 计…

MSTP/RSTP的保护功能

目录 原理概述 实验目的 实验内容 实验拓扑 1.配置RSTP/MSTP 2.配置BPDU保护 3.配置根保护 4.配置环路保护 5.配置TC-BPDU保护 原理概述 在RSTP或MSTP交换网络中&#xff0c;为了防止恶意攻击或临时环路的产生&#xff0c;可配置保护功能来增强网络的健壮性和安全性。…

Unity 布局 HorizontalLayoutGroup 多行 换行

演示Gif&#xff1a; 现象: 子元素宽度不同&#xff0c;超出父元素后不会换行 GridLayout则是固定宽度也不能用&#xff0c; 需求 水平排版的同时&#xff0c;超出父级后换行 代码&#xff1a; 催更就展示[狗头]

Android 使用ping命令判断当前网络状态

一. 介绍 ping命令是用来测试和诊断网络连接问题的基本命令&#xff0c;当然我们的终端设备&#xff08;手机/平板/车机&#xff09;都可以用这个命令来判断当前网络是否有流量的状态&#xff0c;本篇文章主要介绍Linux的ping命令&#xff0c;因为Android系统也是使用了Linux内…

【浪漫 罗盘时钟 Js、css实现(附源代码) 美化版本】,前端面试必问的HashMap

先自我介绍一下&#xff0c;小编浙江大学毕业&#xff0c;去过华为、字节跳动等大厂&#xff0c;目前阿里P7 深知大多数程序员&#xff0c;想要提升技能&#xff0c;往往是自己摸索成长&#xff0c;但自己不成体系的自学效果低效又漫长&#xff0c;而且极易碰到天花板技术停滞…

SpringBoot整合消息中间件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

消息中间件 消息消息队列JMS AMQPMQTTKafka Spring整合消息队列模拟消息队列的工作流程Spring整合ActiveMQSpring整合RabbitMQ直连交换机模式主题交换机模式 Spring整合RocketMQSpring整合kafka 消息 消息的发送方&#xff1a;生产者 消息的接收方&#xff1a;消费者 同步消息…

从51到ARM裸机开发实验(009)LPC2138 中断实验

一、场景设计 中断的概念在《从51到ARM裸机开发实验(007) AT89C51 中断实验》中已经介绍过&#xff0c;LPC2138的Keil工程创建在《从51到ARM裸机开发实验(005)LPC2138 GPIO实验》中已经介绍过。本次使用LPC2138来实现一个这样的场景&#xff1a;四个LED依次亮灭&#xff0c;时间…

【python】python天气气候数据抓取分析可视化(源码+数据+可视化+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【Bugku】sqli-0x1

1.打开靶场&#xff0c;进入实验场景 2.按F12查看源代码&#xff0c;发现有一个/?pls_help路径&#xff0c;在url后加上查看。 3.得到的php源码 首先&#xff0c;代码通过 error_reporting(0) 和 error_log(0) 关闭了错误报告&#xff0c;这可以防止攻击者从错误信息中获取敏…

EasyImage2.0 简单图床开源 多功能 简单易用图床系统源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 支持API 支持仅登录后上传 支持设置图片质量 支持压缩图片大小 支持文字/图片水印 支持设置图片指定宽/高 支持上传图片转换为指定格式 支持限制最低宽度/高度上传 支持上传其他文件格…

hbase基础shell用法

HBase中用create命令创建表&#xff0c;具体如下&#xff1a; create student,Sname,Ssex,Sage,Sdept,course 此时&#xff0c;即创建了一个“student”表&#xff0c;属性有&#xff1a;Sname,Ssex,Sage,Sdept,course。因为HBase的表中会有一个系统默认的属性作为行键&#x…

【黑马头条】-day06自媒体文章上下架-Kafka

文章目录 今日内容1 Kafka1.1 消息中间件对比1.2 kafka介绍1.3 kafka安装及配置1.4 kafka案例1.4.1 导入kafka客户端1.4.2 编写生产者消费者1.4.3 启动测试1.4.4 多消费者启动 1.5 kafka分区机制1.5.1 topic剖析 1.6 kafka高可用设计1.7 kafka生产者详解1.7.1 同步发送1.7.2 异…

Golang | Leetcode Golang题解之第30题串联所有单词的子串

题目&#xff1a; 题解&#xff1a; func findSubstring(s string, words []string) (ans []int) {ls, m, n : len(s), len(words), len(words[0])for i : 0; i < n && im*n < ls; i {differ : map[string]int{}for j : 0; j < m; j {differ[s[ij*n:i(j1)*n]…

大模型用到的位置编码汇总(面试)

不同于RNN、CNN等模型&#xff0c;对于Transformer模型来说&#xff0c;位置编码的加入是必不可少的&#xff0c;因为纯粹的Attention模块是无法捕捉输入顺序的&#xff0c;即无法区分不同位置的Token。为此我们大体有两个选择&#xff1a;想办法将位置信息融入到输入中&#x…