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;
    }
相关推荐
摇滚侠15 分钟前
JDBC 基础到高级一套通关!进阶篇 16-27
java
明志数科37 分钟前
4D时序标注技术详解:让机器人理解连续动作的数据基础
java·算法·机器人
_qingche44 分钟前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin
可乐ea1 小时前
【知识获取与分享社区项目 | 项目日记第 21 天】索引构建与联想建议:Outbox 增量更新 + Completion Suggester
java·大数据·mysql·elasticsearch·搜索引擎
RainCity1 小时前
Java Swing 自定义组件库分享(十一)
java·笔记·后端
好家伙VCC2 小时前
Qdrant + LangChain 实战:构建毫秒级语义检索服务
java·langchain
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第93题】【Mysql篇】第23题:从查找速度来看,聚集索引和非聚集索引哪个更快?
java·开发语言·数据库·mysql·面试
摇滚侠2 小时前
JDBC 基础到高级一套通关!高级篇 28-40
java
CriticalThinking2 小时前
在 JetBrains IDE 中通过 ACP 协议集成 Claude Code等外部工具
ide·agent·ai编程
Smoothcloud润云2 小时前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text