当前位置: 首页 > news >正文

IDEA自定义类注释及方法注释模板

此种配置方法是params换行的方法注释模板

效果

每次博客中看到大佬们的代码注释非常专业以及高大上就羡慕,今天终于跟着网上的文章自己配置好了IDEA,下面是效果图

 操作步骤

一.类注释模板

打开IDEA,点击File->Settings,然后按照下图顺序依次进入,将④中代码添加进自己的IDEA

/**

@author: ${USER}

@create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}

@description: TODO

*/

二.方法注释模板

方法注释模板相对类注释模板麻烦一些,我踩坑也更多一些,先说正确步骤

1.按照下图步骤新建一个Template Group

2.按照稀土步骤新建一个Live Template

3.填写方法注释模板代码

方法注释模板代码:

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

 4.点击Edit variables配置$表达式

根据上图所示配置,其中Skip if defined配置项是指生成注释后光标是否需要跳过该项(生成注释后光标会默认停留在没有勾选Skip if defined的字段后,表示需要你填写内容,比如方法描述、参数、返回值等)。params和returns的Default value如下:

params:

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

 returns

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

注意下图位置不要填写方法,否则后面Default value不生效

5.注意事项

①按照上述步骤配置好后在方法上面输入“/*”后按Tab便可生成方法注释。我们虽然配置的事*快捷键,但是众所周知IDEA中的注释都是/开头,还有就是网上说不加/*无法获取方法参数和返回值,这个我没测试过,基于以上两种原因,我们就输入“/*”后按Tab快捷生成方法注释

②还有一种简单的配置方式就是在第四步中将params和returns的Expression属性配置成methodParameters()和methodReturnType(),后面的Default value可以不配置,这样生成的params不会换行,我不喜欢这种所以没弄

③配置params的groovyScript的时候可能会遇到生成注释后@param无法对齐的情况,这时候可以修改params的groovyScript代码来解决

一般来说第一个@param是可以正常对齐的,第二个不对齐我们可以在红色方框标记这里加减空格来使它对齐

最后,如果有什么疑问或者遇到什么问题,欢迎私信交流,大家一起进步!

相关文章:

  • 智慧城市的新宠儿:会“思考”的井盖
  • 分布式锁的应用场景及实现
  • [晓理紫]每日论文分享(有中文摘要,源码或项目地址)--强化学习、模仿学习、机器人
  • Jmeter 学习目录(0)
  • 《Solidity 简易速速上手小册》第9章:DApp 开发与 Solidity 集成(2024 最新版)
  • Postgresql源码(121)事务状态中childXids的作用
  • 【ArcGIS微课1000例】0105:三维模型转体模型(导入sketchup转多面体为例)
  • 【Spring Boot 3】【JPA】一对一双向关联
  • 【Git工具实战】实用真实 Git 开发工作流程
  • Sora背后的论文(1):使用 lstms 对视频展现进行无监督学习
  • 《springcloud alibaba》 一 Openfeign
  • 2024年刷题记录
  • 【51单片机】直流电机驱动(PWM)(江科大)
  • 备战蓝桥杯—— 双指针技巧巧答链表1
  • vue3组件通信方式汇总
  • 【高德地图】Android高德地图初始化定位并显示小蓝点
  • C语言概述
  • Docker Image(镜像)
  • 用html编写的招聘简历
  • 后端设计PNR一点总结
  • 辽宁省委书记郝鹏、省长王新伟赶到辽阳火灾事故现场指导善后处置工作
  • 中办、国办印发《安全生产考核巡查办法》
  • 京津冀“飘絮之困”如何破解?专家坦言仍面临关键技术瓶颈
  • 湖南华容县通报“大垱湖水质受污染”,爆料者:现场已在灌清水
  • 港理大公布多项AI+医工成果,助港建设国际医疗创新枢纽
  • “中国游”带火“中国购”,“即买即退”让外国游客购物更丝滑