如何在 VS Code 中创建自己的代码片段

在项目开发中,我们经常需要新建文件,而这些初始化这些文件又需要敲出很多相同的代码,比如我们新建一个 .vue 的文件,需要我们在写正式的功能代码之前,完成以下初始化代码:

<script setup lang='ts'>
</script><template><div></div>
</template><style scoped></style>

为了不用每次都从其它文件中拷贝来拷贝去,我们的代码编辑器帮我们实现了一个代码片段的功能,即通过输入一个简单的命令来实现快速完成一段预制代码编写的目的。

下面我们来看看如何实现这样一个命令来智能生成自己想要的代码片段。

1. 创建 CODE-SNIPPETS 类型文件

打开 VS Code 软件,在顶部菜单选择 文件 —> 首选项 —> 配置用户代码片段,有“新建全局代码片段文件”和“新建“当前项目”文件夹的代码片段文件”两个选择项,不同之处在于适用范围是全局还是当前某个项目,创建的文件位置也不一样,如果是当前项目的,保存在项目根目录下 .vscode 文件夹下。

2. 编辑代码片段文件

点击新建代码片段文件后,我这里选择的适用范围是当前项目,生成的文件里面默认包含的内容如下:

{// Place your LeadTechMS 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. // Placeholders with the same ids are connected.// Example:"Print to console": {"scope": "javascript,typescript","prefix": "log","body": ["console.log('$1');","$2"],"description": "Log output to console"}
}

文件里面有效内容是一个 JSON 对象,键名就是该代码片段的名称,在输入命令字符时显示在右侧的提示里。值里面又是另外一个对象,主要有四个属性:scopeprefixbodydescription

  • scope:代码片段在什么类型文件里适用,如果不指明,可移除该属性
  • prefix:输入的命令字符
  • body:里面是一个数组,包含即要生成的代码,以字符串数组的形式组成
  • description:描述性文字,可随便写

以下是我编辑好的代码片段文件

{"一个测试代码片段命令": {"prefix": "test","body": ["<template>","\t<div>","\t\t<span>test snippets</span>","\t</div>","</template>"],"description": "随便玩玩代码片段"}
}

3. 测试代码片段是否生效

编辑好代码片段文件后保存,无需重启编辑器,新建一个文件,未指明文件类型,在文件中输入 test,即出现生成代码片段的智能提示,此时回车即可

如何实现代码高效,除了对代码非常熟,敲键盘的速度比别人快,还得要借助工具。工欲善其事必先利其器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java基础(第七章课后作业)03

1 package shuzu;2 3 import java.util.Scanner;4 5 public class ZuoYe03 {6 7 public static void main(String[] args) {8 Scanner meng00new Scanner(System.in);9 int []numsnew int[10];//定义一个输入10个整数的数组 10 int []countnew int…

如何使用 Apifox 来管理测试你的接口

日常开发&#xff0c;你是使用 Postman 来测试接口&#xff0c;还是用接口文档生成工具 Swagger&#xff0c;最近发现了一个很好用的工具 Apifox&#xff0c;集API 文档、API 调试、API Mock、API 自动化测试功能为一体&#xff0c;兼客户端和 Web 端的强大的功能。 主要界面如…

登录之后更新导航

用上下文处理器app_context_processor定义函数获取session中保存的值返回字典 app.context_processor def mycontext():username session.get(user)if username:return {username:username}else:return {} 在父模板中更新导航&#xff0c;插入登录状态判断代码。注意用{% ... …

完善系统的最后一公里,增加系统日志功能

当我们在开发一个系统的时候&#xff0c;随着规划的功能越来越多&#xff0c;按照复杂度和稳定性相反的原则&#xff0c;为了保证系统能够按照我们设想的目标运行&#xff0c;我们需要对系统的运行状况进行监控。 那么什么时候介入监控比较好&#xff1f;在系统功能开发的前期…

java泛型面试_Java泛型面试问题

java泛型面试Java面试中的通用面试问题在相当长的时间内在Java 5周围越来越普遍&#xff0c;许多应用程序都转移到Java 5上&#xff0c;并且几乎所有新的Java开发都发生在Tiger&#xff08;Java 5的代号&#xff09;上。 泛型和Java 5功能&#xff08;例如Enum&#xff09;的重…

Python 连接MongoDB并比较两个字符串相似度的简单示例

本文介绍一个示例&#xff1a;使用 pymongo 连接 MongoDB&#xff0c;查询MongoDB中的 字符串 记录&#xff0c;并比较字符串之间的相似度。 一&#xff0c;Python连接MongoDB 大致步骤&#xff1a;创建MongoClient---> 获取 DataBase --->获取Collection&#xff0c;代码…

Vue3 实现网页背景水印功能

经常有一些公司和组织出于系统文件或信息安全保密的需要&#xff0c;需要在系统网页上增加带有个人标识&#xff08;系统账号或个人信息&#xff09;的水印&#xff0c;可以简单防止截图外传首先我们来看这样一个水印功能的实现思路&#xff0c;通常是在我们原有的网页上附上一…

部署微服务– Spring Boot fatjar到Amazon Elastic Beanstalk

最近&#xff0c;我正在研究概念验证的Web应用程序&#xff0c;我想将其部署到公共云以进行快速演示。 我决定使用Amazon&#xff0c;因为我已经有过使用它的经验。 亚马逊提供了几种不同的方式来部署Java Web应用程序。 EC2使我们可以灵活地在机箱上安装和配置任何我们想要的…

洛谷P2286 [HNOI2004]宠物收养场

题目描述 凡凡开了一间宠物收养场。收养场提供两种服务&#xff1a;收养被主人遗弃的宠物和让新的主人领养这些宠物。 每个领养者都希望领养到自己满意的宠物&#xff0c;凡凡根据领养者的要求通过他自己发明的一个特殊的公式&#xff0c;得出该领养者希望领养的宠物的特点值a&…

Vue 自定义指令可以实现哪些有用的功能

Vue 有一些很实用的指令 v-show v-if v-text v-html v-bind v-on 可以帮助我们实现很复杂的功能&#xff0c;同时它还开辟了钩子供我们自己实现自定义指令。根据自己平时开发总结了一些可以通过指令实现的功能场景&#xff1a;控制页面元素显示与隐藏&#xff0c;可用作控制权限…

正三角形的外接圆面积

描述给你正三角形的边长&#xff0c;pi3.1415926 ,求正三角形的外接圆面积。 输入只有一组测试数据 第一行输入一个整数n(1<n<1000)表示接下来要输入n个边长m(1.0<m<1000.0)输出输出每个正三角形的外接圆面积&#xff0c;保留两位小数&#xff0c;每个面积单独占一…

在线答卷系统的前端设计与数据库系统的设计与实现

如果要你实现一个在线的答题系统&#xff0c;你能想到它该具有哪些功能&#xff1f;当我接到这样一个需求的时候&#xff0c;脑海中立马能想到的就是它有录入题库的功能&#xff0c;创建试卷后可以从题库选择试题&#xff0c;并且可以针对试题进行分数的设置和排序。试卷发布后…

jgroups传输消息_使用JGroups进行ElasticMQ消息复制

jgroups传输消息ElasticMQ是一个消息服务器&#xff0c;具有Scala&#xff0c;Java和与Amazon SQS兼容的接口。 它通过跨服务器群集复制消息来支持有保证的消息传递&#xff0c;并通过日志记录实现消息持久性。 消息复制是ElasticMQ的核心功能之一。 但是&#xff0c;如果您看一…

使用 Element 组件搭建在线学习的课程卡片设计

假如我们要做一个在线课程学习的系统&#xff0c;其中我们需要做的一个功能就是课程信息流的一个展示&#xff0c;以等高卡片列表或者瀑布流的方式呈现。首先我们来罗列下这个卡片内应该包括哪些信息点&#xff1a;课程名称课程简介分类信息课程评分等级课程文件课时观看学习人…

MySQL多种安装方式选择

1.rpm包安装方式 rpm包的安装方式非常简单&#xff0c;这里以el6平台下的mysql-5.6.34版本为例&#xff0c;首先&#xff0c;要通过上述搜狐镜像地址下载到如下四个MySQL相关软件安装包。 a.下载安装包 MySQL-client-5.6.34-1.el6.x86_64.rpm MySQL-devel-5.6.34-1.el6.x86_64.…

12个很棒的Spring数据教程来启动您的数据项目

Spring Data的任务是为数据访问提供一个熟悉且一致的&#xff0c;基于Spring的编程模型&#xff0c;同时仍保留基础数据存储的特​​殊特征。 它使使用数据访问技术&#xff0c;关系和非关系数据库&#xff0c;map-reduce框架以及基于云的数据服务变得容易。 这是一个总括项目…

python多线程编程(3): 使用互斥锁同步线程

问题的提出 上一节的例子中&#xff0c;每个线程互相独立&#xff0c;相互之间没有任何关系。现在假设这样一个例子&#xff1a;有一个全局的计数num&#xff0c;每个线程获取这个全局的计数&#xff0c;根据num进行一些处理&#xff0c;然后将num加1。很容易写出这样的代码&am…

如何防止水印被恶意删除或者隐藏?

继上篇 Vue3 实现网页背景水印功能 我们了解了常见的网页水印功能是如何实现的&#xff0c;懂原理的都知道水印是通过在网页中添加代码绘制 DOM 元素覆盖在原有的网页上而来的&#xff0c;一旦你打开浏览器中的元素审查&#xff0c;可以通过删除元素或者在元素的样式上操作属性…

jmc线程转储_如何分析线程转储– IBM VM

jmc线程转储本文是我们的线程转储分析系列的第4部分&#xff0c;它将为您提供什么是IBM VM的JVM线程转储以及您将找到的不同线程和数据点的概述。 您将看到和学习​​到&#xff0c;IBM VM Thread Dump格式是不同的&#xff0c;但是提供了更多现成的故障排除数据。 在这一点上&…

java lock

多线程访问同一个变量&#xff0c;不进行同步&#xff0c;会造成结果不一致。这里解决方案有很多&#xff0c;使用原子变量。加锁同步&#xff0c;使用synchronized同步。下面是一个lock demo&#xff0c;后面会分析lock实现原理。lock使用的是公平锁还是非公平锁等 import jav…