在 idea 中为类和方法自动生成注释

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

项目规范中有一项常见的要求,在类级和方法级注释里写上创建者和创建时间,在方法级注释里写上创建者和维护者,以及创建时间和最近修改时间。

在网上搜索了一番,发现很多相似功能的帖子。在借鉴他人经验的基础之上,我整合了项目实际需要,整理出这么一篇帖子,当作笔记。如果有什么写得不对的地方,欢迎拍砖。

如有雷同,就是巧合。

首先,设置类级别的注释。

Step 1 点击“File”-->“Settings”-->“File and Code Templates”打开如下对话框,如图 1所示。

图 1

Step 2 在public class ${NAME} {上一行插入

/**
* @author ${USER}
* @date ${DATE} ${TIME}
*/

代码块 1

/**
* @author mojiayi
* @date ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
*/

代码块 2

上述8个变量说明

  1. ${USER}:当前系统登录的用户名,如果你的系统用户名是windows默认的Adminstrator,千万别用,鬼知道你的同事里有多少人也是Administrator;
  2. ${DATE}:当前系统设置的日期格式,作为一个有强迫症的程序员,不能接受同一项目的注释里有超过一种的日期格式;
  3. ${TIME}:当前系统设置的时间格式,作为一个有强迫症的程序员,不能接受同一项目的注释里有超过一种的时间格式;
  4. ${YEAR}:完整的年份,比如 2018;
  5. ${MONTH}:完整的月份,比如 01;
  6. ${DAY}:完整的日期,比如 17;
  7. ${HOUR}:24小时制的小时,比如 16;
  8. ${MINUTE}:完整的分钟,比如 52。

设置好之后,创建新类时自动生成注释。

然后,设置方法级别的注释。

Step 1 点击“File”-->“Settings”-->“Live Templates”打开如下对话框,点击右边绿色的加号,创建一个自定义的Template Group,如图 2所示。

图 2

Step 2 选中刚才创建的Templage Group,点击右边的加号,创建一个Live Template, 如图 3所示。

图 3

Step 3 选中刚才创建的Live Template,输入Abbreviation和Description,Abbreviation非常重要,用于在代码中引入这个注释模板,如图 4所示。

图 4

Step 4 填写Template Text,可以根据自己的需要修改具体的模板内容。

/*** @author mojiayi* @date $date$ $time$$params$* @return $returns$* @throws * @since 
*/

代码块 3

这里的变量名和前面设置类级别注释不一样,需要在Edit Variables里设置变量对应的表达式,如图 5所示。

表达式说明

  1. date:如果不添加日期格式在表达式里,会使用系统设置的日期格式,可使用与Java语法里相同的语法输入日期格式,比如 date("yyyy-MM-dd");
  2. time:如果不添加时间格式在表达式里,会使用系统设置的时间格式,可使用与Java语法里相同的语法输入时间格式,比如 time("HH:mm")。
  3. params:groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())
  4. returns:methodReturnType()

图 5

最后,使用模板。

  1. 保存所创建的模板后,新建一个Java文件时,会自动生成类级注释,如图6所示。
  2. 添加方法级注释时,在方法名的上一行输入之前定义的Abbreviation,根据提示选中后回车就会生成方法级注释,如图 6 和图 7所示。

直接在方法名上输入短语时(如图6),产生的注释里params和return为null(如图7),但是如果在方法上加任意注解,在注解和方法名之间输入短语,就能正常产生注释(如图8和图9),不知道为什么。

图 6

图 7

图 8

 

转自:https://my.oschina.net/mojiayi/blog/1608746

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

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

相关文章

2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

为什么要使用进制数 数据在计算机中的表示&#xff0c;最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010… 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 在 计算机上 各种读写数据, 如果我们直接操作二进制的话 , 面对这么长的数进行思考或…

python脚本调用外部程序的若干种方式以及利弊

脚本执行外部程序的常用几种方式&#xff1a; # os.popen(path)# subprocess.run(cmd,shellTrue)# subprocess.check_call(cmd,shell True)# os.system(command)# win32api.ShellExecute(0, open, path, , , 0) os.popen(path) 和 os.system(command) 这两种执行的效果是差不多…

藏经阁计划发布一年,阿里知识引擎有哪些技术突破?

为什么80%的码农都做不了架构师&#xff1f;>>> 阿里妹导读&#xff1a;2018年4月阿里巴巴业务平台事业部——知识图谱团队联合清华大学、浙江大学、中科院自动化所、中科院软件所、苏州大学等五家机构&#xff0c;联合发布藏经阁&#xff08;知识引擎&#xff09;…

Linux操作系统load average过高,kworker占用较多cpu

Linux操作系统load average过高&#xff0c;kworker占用较多cpu 今天巡检发现&#xff0c;mc1的K8S服务器集群有些异常&#xff0c;负载不太均衡。其中10.2.75.32-34&#xff0c;49的load average值都在40以上&#xff0c;虽然机器的cpu核数都是40或48核不算严重&#xff0c;但…

Linux 上 docker 安装 oracle-xe-11g

环境&#xff1a; 2G 内存&#xff0c;60G 硬盘阿里云一台&#xff08;带宽 1M&#xff09;, 配置如下图&#xff1a; 软件&#xff1a;docker Docker version 1.6.2, build 7c8fca2 相关 link docker 镜像站&#xff1a;https://store.docker.com 视频教程&#xff1a;ht…

《 Docker 技术入门与实战 》读书笔记 ( CentOS 安装 Docker )

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS &#xff1a;个人所有读书笔记只记录个人想要的内容&#xff0c;很可能原书大量内容没有纳入笔记中... ... 以下全文内容出自书目&…

解决 linux 下安装 node 报: command not found

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 注意&#xff1a;有时安装成功后,需要关闭xshell&#xff0c;重新启动。nvm才会生效。 1. 在 linux 下安装 node 提示 -bash: node: com…

阿里云官方网站免费套餐怎么抢

阿里云推出包含云服务器 ECS、负载均衡、云数据库 RDS、云数据库 Redis 版、云数据库 Mongodb 版、弹性公网 IP、CDN、对象存储 OSS、文件存储 NAS等40核心云产品&#xff0c;6个月免费使用何为免费套餐&#xff0c;其实就是让你先体验&#xff0c;觉得好用&#xff0c;易用&am…

elasticsearch全局analyzer声明

2019独角兽企业重金招聘Python工程师标准>>> 问题 elasticsearch从2.4升级到5.6&#xff0c;elasticsearch.yml配置中有一些analyzer配置拷贝到新版本&#xff0c;启动报错 index :analysis :analyzer :lowercase_whitespace :type : customtokenizer : myTokenizer…

Parallels Desktop虚拟机无法关机提示“虚拟机处理器已被操作系统重置”

如果你在使用PD的时候遇到了这样子的弹窗&#xff0c;恭喜你篇博文可以帮助你&#xff0c;因为我刚刚也遇到了这个问题。如果有帮助可以点一下推荐按钮。 针对Windows电脑 启动虚拟机创建快照使用管理员权限运行命令提示符执行powercfg -h off重启试试成功了再删除快照即可修改…

安全通信

安全通信 应用层协议大多数自己都没有实现加解密功能&#xff0c;比如http等。http就是直接把数据加载进来然后做简单编码&#xff08;也就是流式化&#xff09;然后响应客户端&#xff0c;然后数据在浏览器展示&#xff0c;这个数据在传输过程是明文的&#xff0c;你截获就可以…

纯JPA 入门小案例(2)

2019独角兽企业重金招聘Python工程师标准>>> JPA中的主键生成策略 通过annotation&#xff08;注解&#xff09;来映射hibernate实体的,基于annotation的hibernate主键标识为Id, 其生成规则由GeneratedValue设定的.这里的id和GeneratedValue都是JPA的标准用法。 JPA…

并发不是并行,它更好!

原文链接&#xff0c;译文链接&#xff0c;译者&#xff1a;雷哥&#xff0c;饶命&#xff0c;校对&#xff1a;李任 现代社会是并行的&#xff1a;多核、网络、云计算、用户负载&#xff0c;并发技术对此有用。 Go语言支持并发&#xff0c;它提供了&#xff1a;并发执行&…

详解设计模式在Spring中的应用

设计模式作为工作学习中的枕边书&#xff0c;却时常处于勤说不用的尴尬境地&#xff0c;也不是我们时常忘记&#xff0c;只是一直没有记忆。 今天&#xff0c;在IT学习者网站就设计模式的内在价值做一番探讨&#xff0c;并以spring为例进行讲解&#xff0c;只有领略了其设计的思…

开大你的音响,感受HTML5 Audio API带来的视听盛宴

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 话说HTML5的炫酷真的是让我爱不释手&#xff0c;即使在这个提到IE就伤心不完的年代。但话又说回来&#xff0c;追求卓越Web创造更美世界…

Microsoft Visual Studio 2010(vs2010) 中文版安装

Microsoft Visual Studio 2010(vs2010) 中文版安装 日期&#xff1a;2019-05-12 时间&#xff1a;20:03:36 编辑&#xff1a;张国富 下载地址 基本简介 Microsoft Visual Studio&#xff08;vs2010是简称&#xff09;是微软公司推出的开发环境。visual studio 2010…

SpringBoot 之集成 Spring AOP

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在开始之前&#xff0c;我们先把需要的jar包添加到工程里。新增Maven依赖如下&#xff1a; <dependency><groupId>org.spri…

数据库主键自增插入显示值

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。 https://blog.csdn.net/nwsuaf2009012882/article/details/32703597 SQL Server 2008 数据库主键自增插入显示值 前几天在工作的时候遇到在删除数据库中表的数据的时候。删除之后&#xff0c;又一次…

Selenium自动化获取WebSocket信息

性能日志 ChromeDriver支持性能日志记录&#xff0c;您可以从中获取域“时间轴”&#xff0c;“网络”和“页面”的事件&#xff0c;以及指定跟踪类别的跟踪数据。启用性能日志 默认情况下不启用性能日志记录。因此&#xff0c;在创建新会话时&#xff0c;您必须启用它。 Desir…

《App后台开发运维与架构实践》第3章 App后台核心技术

2019独角兽企业重金招聘Python工程师标准>>> 3.1 用户验证方案 3.1.1 使用HTTPS协议 HTTPS协议是“HTTP协议”和“SSL/TLS”的组合。SSL&#xff08;Secure Sockets Layer&#xff09;&#xff0c;即安全套接层&#xff0c;是为了解决因HTTP协议是明文而导致传输内容…