Java系列之 IDEA 为类 和 方法设置注解模板

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

1、类方法注解模板

1、File-->settings-->Editor-->File and Code Templates-->Files

  • @BelongsProject:项目名

  • @BelongsPackage:当前包的名称

  • @Author:作者姓名

  • @CreateTime:该类创建的时间

  • @Description:对该类的描述

  • @Version:设置版本号,一般新创建的类都是1.0版本,这里写死就可以了

1.1 模板

将这部分代码 放到IDEA 的指定位置。

java 复制代码
/**
*@BelongsProject: ${PROJECT_NAME}
*@BelongsPackage: ${PACKAGE_NAME}
*@Author: zhengyuzhu
*@CreateTime: ${YEAR}-${MONTH}-${DAY}  ${HOUR}:${MINUTE}
*@Description: TODO
*@Version: 1.0
*/

1.2 实际效果

编写一个类,试一下

java 复制代码
/**
 * @BelongsProject: Java-Work-Demo
 * @BelongsPackage: A1多线程.B1超时处理.Demo1
 * @Author: zhengyuzhu
 * @CreateTime: 2023-11-14  11:31
 * @Description: TODO
 * @Version: 1.0
 */
public class MyTest {
}

2、方法注解模板(一)

1.1 模板

java 复制代码
*
 * @description:
 * @author: zhengyuzhu 
 * @date: $date$ $time$
 * @param: $param$
 * @return: $return$
 **/

实现的效果是这样的

具体操作过程如下:




这里注意一点,这里的操作顺序不要弄错了。否则,函数方法可能会读取不到。

1.2 实际效果

java 复制代码
    /**
     * @description:
     * @author: zhengyuzhu 
     * @date: 2023/11/14 12:21
     * @param: [a, str]
     * @return: void
     **/
    public void Test(int a, String str){
        
    }
    
    /**
     * @description:
     * @author: zhengyuzhu 
     * @date: 2023/11/14 12:22
     * @param: []
     * @return: java.util.List
     **/
    public List Test2(){
        ArrayList<Object> list = new ArrayList<>();
        return list;
    }

3、方法注解模板(二)

1.1 模板

java 复制代码
*
 * @description:
 * @author: zhengyuzhu
 * @date: $date$ $time$ $param$ $return$
 **/

效果展示

具体实现过程,过程和 一 相似。只需要改变模板,和获取方法就可以了。具体过程如下:


自定义方法:参数获取

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

自定义方法:返回值 包含包名

java 复制代码
groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return: ' + \"${_1}\"", methodReturnType())

自定义方法: 返回值 不包含包名

java 复制代码
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';};  def p1=params[i].split(',').toList();  for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList();  result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','}  } ;  };  return result", methodReturnType())

1.2 实际效果

我习惯用返回值包含包名的、根据个人习惯来改。

java 复制代码
    /**
     * @description:
     * @author: zhengyuzhu
     * @date: 2023/11/14 12:34 
     * @param: a
     * @param: b
     * @param: c 
     * @return: java.lang.String
     **/
    public String TestDemo(int a,String b,List c){
        return null;
    }
    
    
    /**
     * @description:
     * @author: zhengyuzhu
     * @date: 2023/11/14 12:41 
     * @param: a
     * @param: b 
     * @return: java.util.List<java.lang.String>
     **/
    public List<String> list (int a ,String b){
        return null;
    }
相关推荐
爱跳舞的烤冷面10 分钟前
自学嵌入式第N天(Linux篇——文件编程)
java·开发语言·前端
Promising_GEO16 分钟前
新电脑科研环境配置指南:Miniforge + PyCharm + GitHub 从安装到可用
ide·python·pycharm·github·地理
怪奇云呼军18 分钟前
闪电智能VoiceAgent 如何管理呼入、接听、桥接和挂断状态?
java·前端·网络·数据库·人工智能
Escalating_xu26 分钟前
【Linux】进程间通信:从匿名管道、FIFO 到共享内存、消息队列与信号量
java·linux·面试
舞动青春8840 分钟前
vscode copilot配置kimi k3
ide·vscode·copilot
IT机器猫43 分钟前
RabbitMQ基础二
java·spring boot·分布式·spring cloud·log4j·rabbitmq·springamqp
卷心菜的学习路1 小时前
基于 Spring Cloud Tencent 元数据路由实现个人开发泳道,告别频繁部署
java·spring cloud
xieliyu.1 小时前
UPD协议结构以及开发中注意事项
java·开发语言·笔记·java-ee
张宇Joaquin1 小时前
openEuler编译和更换内核的方法
java·linux·服务器
爱上纯净的蓝天1 小时前
AtomCode 多语言开发支持:一个 AI IDE 搞定全栈开发
ide·多语言·全栈开发·atomcode