在 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,一经查实,立即删除!

相关文章

《PWA实战:面向下一代的Progressive Web APP》读书笔记

前言 之前自己根据网上的教程学习写了几个PWA的小Demo&#xff0c;觉得PWA很有意思&#xff0c;想要更多的了解一下PWA&#xff0c;所以读了这本书。这本书是MANNIN出版社出的&#xff0c;所以书里的代码都有非常棒的注释&#xff0c;因此这篇笔记不会展开讲代码&#xff0c;而…

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

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

如何战胜浮躁

浮躁是当下年轻人的通病&#xff0c;因为各种压力或心智不够成熟等原因&#xff0c;导致在生活工作当中经常处于一种情绪无法自如控制的状态。这种浮躁的状态不仅影响到正常的工作生活&#xff0c;长时间的话还会影响到身体健康。本篇就来分享一些如何战胜浮躁的方法&#xff0…

wireshark的使用方法(转)

https://www.cr173.com/html/20128_all.html

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) 这两种执行的效果是差不多…

解决: Your ApplicationContext is unlikely to start due to a @ComponentScan of the default

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 用 springboot 搭一个小应用 报错&#xff1a; Your ApplicationContext is unlikely to start due to a ComponentScan of the defaul…

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

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

45度做人 90度做事 180度为人 360度处事

面对社会复杂的关系和瞬时而变的人情世故&#xff0c;许多人会感叹活得太累。其实&#xff0c;只要我们保持平和的心态&#xff0c;不去计较人生的成败&#xff0c;始终保持一颗感恩的心&#xff0c;同样可以活得轻松自在&#xff0c;活出人生的精彩!以度量人的处事原则&#x…

SDK 和 API 的区别是什么

SDK 就是 Software Development Kit 的缩写&#xff0c;翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词&#xff0c;可以这么说&#xff1a;辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。SDK被开发出来是为了减少程序员工作量的。比如——有公司…

解决413 Request Entity Too Large

解决413 Request Entity Too Large 修改nginx配置 这是最简单的一个做法&#xff0c;着报错原因是nginx不允许上传配置过大的文件&#xff0c;那么件把nginx的上传大小配置调高就好。1、打开nginx主配置文件nginx.conf&#xff0c;一般在/usr/local/nginx/conf/nginx.conf这个位…

解决 springboot 启动报错 -- Cannot determine embedded database driver class for database type NONE

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 问题描述 我只是新建一个全新的 springboot 工程&#xff0c;什么都没有写的情况下启动报错如题&#xff1a; Cannot determine em…

Luogu P3731 [HAOI2017]新型城市化

题目显然可以转化为求每一条边对二分图最大独立集的贡献&#xff0c;二分图最大独立集\(\)点数\(-\)最大匹配数&#xff0c;我们就有了\(50pts\)做法。 正解的做法是在原图上跑\(Tarjan\)&#xff0c;最开始我想复杂了&#xff0c;后来才意识到&#xff0c;只要存在这样一个强连…

【数据结构算法】快排/归并/堆排序 c++

一个用来了解数据结构算法&#xff08;各种排序&#xff0c;列表&#xff0c;树等&#xff09;很友好的网站&#xff1a; https://visualgo.net/en 该题目来自于牛客&#xff1a;算法篇-排序问题 快排&#xff08;必备&#xff09;归并&#xff08;体会分治&#xff09;堆(自…

人生的八种投资

1、最心甘情愿的投资&#xff1a;儿女 投资大师罗杰斯一生成功无数&#xff0c;问及他最得意的一次投资时&#xff0c;他说&#xff0c;是自己的女儿。“我曾经觉得养孩子是既麻烦又浪费钱的事情&#xff0c;有了女儿才知道&#xff0c;这才是最能给你带来幸福感的投资。” …

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;但…

[flask]gunicorn配置文件

配置文件 #!/home/xx/.virtualenvs/xx/bin/python # encoding: utf-8import multiprocessing# 监听端口 bind 0.0.0.0:5000 # 工作模式 worker_class gevent # 并行工作进程数 workers multiprocessing.cpu_count() * 1 # 设置守护进程 daemon True# 设置日志记录水平 logl…

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…

最易忽视的肾虚4件事

肾是人的“先天之本”&#xff0c;如果把人体比喻成一棵大树&#xff0c;肾就是树根&#xff0c;吸收、传递营养充足&#xff0c;大树才能枝繁叶茂。肾虚了&#xff0c;可能引起各种健康问题。 然而&#xff0c;在现实中&#xff0c;人们常常会夸大肾虚&#xff0c;很多人把出…

【计算机网络】wireshark数据流追踪、图像抓取(转)

不废话了直接上地址 https://www.cnblogs.com/grj001/p/12223954.html

stm32学习方法

很多新手都问过嵌入式系统学习方法&#xff0c;好的学习方法可以事半功倍&#xff0c;学习嵌入式系统&#xff0c;掌握了好的学习方法&#xff0c;自然可以水到渠成。创客学院的老师就通过本篇文章就来说说嵌入式系统学习方法&#xff0c;新手必看 第一&#xff0c;学习基本的裸…