VSCode 定义代码模板

news/2024/9/20 23:19:06 标签: vscode, ide

在使用编写代码的过程中,经常会写一些固定代码段。

以 Java 为例,定义实体类时一般都会编写序列化版本号:

@Serial
private static final long serialVersionUID = 1L;

这段代码是固定写法,基本不会变,如果每次都手写的话,就比较繁琐了。

VSCode 提供了生成代码段的功能,为我们提供了便利。步骤如下:

  1. 选择代码生成配置

  2. 选择文件后缀

    上方出现了各种后缀文件的选择,这里以选择 java.json 为例:

    此时的 java.json 是没有实际内容的,只是以注释的方式提供了一个示例。

  3. 编写代码生成配置

    这里以自用的两个代码生成为例:

    java.json

    {
        "实现序列化接口": {
            "prefix": "is",
            "body": [
                "implements Serializable "
            ]
        },
        "序列号版本号": {
            "prefix": "ser",
            "body": [
                "@Serial",
                "private static final long serialVersionUID = 1L;"
            ]
        },
        "单元测试方法": {
            "prefix": "test",
            "body": [
                "@Test",
                "public void test() {",
                "",
                "    $1",
                "}"
            ]
        },
        "Swagger控制层注解": {
            "prefix": "tag",
            "body": [
                "@Tag(name = \"$1\")"
            ]
        },
        "Swagger接口注解": {
            "prefix": "ope",
            "body": [
                "@Operation(summary = \"$1\")"
            ]
        },
        "Swagger类注解": {
            "prefix": "sch",
            "body": [
                "@Schema(description = \"$1\")"
            ]
        },
        "生成ArrayList": {
            "prefix": "list",
            "body": [
                "List<$1> list = new ArrayList<>();"
            ]
        },
        "生成HashSet": {
            "prefix": "set",
            "body": [
                "Set<$1> set = new HashSet<>();"
            ]
        },
        "生成HashMap": {
            "prefix": "map",
            "body": [
                "Map<String, Object> $1 = new HashMap<>();"
            ]
        },
        "时间": {
            "prefix": "pd",
            "body": [
                "private Date "
            ]
        },
        "整数": {
            "prefix": "pi",
            "body": [
                "private Integer "
            ]
        },
        "长整数": {
            "prefix": "pl",
            "body": [
                "private Long "
            ]
        },
        "当地时间": {
            "prefix": "pld",
            "body": [
                "private LocalDateTime "
            ]
        },
        "字符串": {
            "prefix": "ps",
            "body": [
                "private String "
            ]
        },
        "静态不变长整数": {
            "prefix": "psfl",
            "body": [
                "public static final long "
            ]
        },
        "静态不变字符串": {
            "prefix": "psfs",
            "body": [
                "public static final String "
            ]
        }
    }
    

    xml.json

    {
        "MyBatis模板": {
            "prefix": "mybatis",
            "body": [
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
                "<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">",
                "<mapper namespace=\"$1\">",
                "    ",
                "</mapper>"
            ]
        }
    }
    

这样,以后在编写代码时,只需要使用配置的关键词就可以生成代码,比如一开始说的的序列化版本号代码输入 ser 即可生成。


环境:

  • VS Code 1.93.1

http://www.niftyadmin.cn/n/5667846.html

相关文章

ApplicationEvent 事件泛型封装记录

一、一个事件的封装、发布以及监听 事件类封装 把需要的信息封装到一个事件类中 Data public class Person {private String name; }Data public class PersonEvent {private Person person;private String addOrUpdate;public PersonEvent(Person person, String addOrUpda…

Linux——应用层自定义协议与序列化

目录 一应用层 1再谈 "协议" 2序列化与反序列化 3理解read,write,recv,send 4Udp vs Tcp 二网络版本计算器 三手写序列和反序列化 四进程间关系与守护进程 1进程组 1.1什么是进程组 1.2组长进程 2会话 2.1什么是会话 2.2会话下的前后台进程 3作业控…

jeecg 在用户页面展示当前账号的角色

SysUser 增加角色字段 TableField(exist false)private String roleText;/sys/user/listAll 接口增加返回值 //查询角色List<String> roleCodeByUserId sysUserRoleMapper.getRoleNameByUserId(item.getId());if (oConvertUtils.isNotEmpty(roleCodeByUserId)) {item.s…

HarmonyOS开发实战(5.0)实现二楼上划进入首页效果详解

鸿蒙HarmonyOS开发实战往期必看文章&#xff1a; HarmonyOS NEXT应用开发性能实践总结 一分钟了解”纯血版&#xff01;鸿蒙HarmonyOS Next应用开发&#xff01; 最新版&#xff01;“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&#xff01;&#xff08;从零基础入门…

飞驰云联FTP替代方案:安全高效文件传输的新选择

FTP协议广泛应用各行业的文件传输场景中&#xff0c;由于FTP应用获取门槛低、使用普遍&#xff0c;因此大部分企业都习惯使用FTP进行文件传输。然而面临激增的数据量和网络安全威胁的不断演变&#xff0c;FTP在传输安全性与传输性能上有所欠缺&#xff0c;无法满足企业现在的高…

线性系统分析

一、定义 (1)叠加性 若 且 则称该系统具有叠加性。 叠加性:系统的一个输入不影响系统对其他输入的响应。 (2)均匀性 若 对任意常数a下式都成立 则称该系统具有均匀性。 均匀性:系统能够保持对输入信号的缩放因子不变。 (3)线性系统 若一个系统同时具有叠加性和…

如何创建模板提示prompt

定义模型 from langchain_ollama import ChatOllamallm ChatOllama(base_url"http://ip:11434",model"qwen2",temperature0,tool_choice"auto" )什么是提示模板&#xff1f; 它的目的是根据不同的输入动态生成特定格式的文本&#xff0c;以便…

深入探索:深度优先遍历与广度优先遍历的奥秘与应用

在算法和数据结构的广阔领域中&#xff0c;图的遍历是一个核心且基础的概念&#xff0c;它支撑着众多高级算法和应用的实现。深度优先遍历&#xff08;DFS&#xff09;和广度优先遍历&#xff08;BFS&#xff09;作为图的两种基本遍历方式&#xff0c;不仅具有深刻的理论意义&a…