VsCode 如何自定义代码片段(Code Snippet)
前言
在现代前端开发中,提高工作效率是每个开发者的追求。Visual Studio Code(Vscode)作为一款强大的代码编辑器,提供了许多让开发者高效编程的功能,其中自定义代码片段(Code Snippet)便是一个重要的工具。
通过自定义代码片段,你可以快速插入常用的代码模板,大幅减少重复工作量。本文将详细讲解如何在 Vscode 中创建和管理自定义代码片段。
什么是代码片段?
代码片段(Code Snippet)是一段可重用的代码模板,它可以包含变量、占位符和自定义文本。当你触发这个片段时,编辑器会自动插入相应的代码结构,并允许你迅速填充内容。
步骤一:打开用户代码片段配置
- 启动 Vscode:首先,启动你的 Visual Studio Code 编辑器。
- 打开命令面板:按下 Ctrl + Shift + P 或 Cmd + Shift + P(Mac)打开命令面板。
- 搜索“Preferences: Configure User Snippets”:在命令面板中输入 Preferences: Configure User Snippets,然后按下回车。

步骤二:选择编程语言或全局片段
在打开的配置界面中,你可以选择为特定编程语言创建代码片段,或者选择 New Global Snippet file… 创建一个全局代码片段,适用于所有文件。
![[Image]](https://i-blog.csdnimg.cn/direct/c9b7b0147d83415194422e02a4472132.png)
例如,我们选择创建一个 JavaScript 的代码片段文件:
{"Print to console": {"prefix": "log","body": ["console.log('$1');","$2"],"description": "Log output to console"}
}
上面的 JSON 格式代码定义了一个简单的代码片段:
- prefix:触发该片段的快捷方式。当你在编辑器中输入 log 并按下 Tab 键时,将会触发这个片段。
- body:片段的具体内容。可以使用 $1, $2 等占位符来表示光标的位置。$1 表示第一个占位符,$2 表示第二个占位符。
- description:对片段的简短描述。
步骤三:使用代码片段
- 输入前缀:回到你的代码编辑区域,输入你在片段中定义的前缀,例如 log。
- 触发片段:按下 Tab 键,你会看到 console.log(‘’); 被自动插入,并且光标位于单引号内,等待你输入内容。
![[Image]](https://i-blog.csdnimg.cn/direct/219de3743cf24e16b2651342f77b5fcc.png)
高级用法:
动态占位符和选择
你还可以使用更多高级特性来增强代码片段的功能:
- 变量(变量名):如 ${TM_FILENAME} 可自动插入当前文件名。
- 选择(选择部分):如 ${1|one,two,three|},用户可以在 one, two, three 之间进行选择。
示例
{"Create React Component": {"prefix": "rcc","body": ["import React, { Component } from 'react';","","class ${1:ComponentName} extends Component {"," constructor(props) {"," super(props);"," this.state = { };"," }",""," render() {"," return ("," <div>"," ${2:Content}"," </div>"," );"," }","}","","export default ${1:ComponentName};"],"description": "Create a React component with ES6 class syntax"}
}
上面的示例展示了如何创建一个 React 组件片段,并使用占位符来快速生成代码结构。
总结
自定义代码片段是 Vscode 提高编程效率的强大工具。通过设置前缀、定义代码模板和使用占位符,你可以大幅减少重复性工作,专注于业务逻辑的实现。希望通过本文的讲解,你能够熟练掌握 Vscode 中自定义代码片段的技巧,提升开发效率。
相关文章:
VsCode 如何自定义代码片段(Code Snippet)
前言 在现代前端开发中,提高工作效率是每个开发者的追求。Visual Studio Code(Vscode)作为一款强大的代码编辑器,提供了许多让开发者高效编程的功能,其中自定义代码片段(Code Snippet)便是一个…...
Linux服务器前后端项目部署vue+springboot—搭建服务器上的运行环境(JDK、Redis、MySQL、Nginx)
Linux服务器前后端项目部署—①搭建服务器上的运行环境 一、系统参数信息和使用工具 1、服务器信息 华为云 CenteOS7.8 64 配置信息:2核4G 2、使用工具 Xshell6 二、环境安装和配置 (一)JDK的下载和安装 1、创建一个新目录或者进入目…...
随记:有关idea中jdk版本
第一个地方:这个可能就是你整个项目的jdk版本的使用,你改了这里大概率可以改了 第二个地方: 就是 有关maven项目的 pom文件 一开始我的第一地方用的是 17 但是这里用的是8 但是运行的时候还是 17 这里可能是 maven的 项目这个地方只是对…...
【算法篇】贪心类(1)(笔记)
目录 一、理论基础 1. 大纲 2. 求解步骤 二、Leetcode 题目 1. 分发饼干 2. 摆动序列 3. 最大子序和 4. 买卖股票的最佳时机 II 5. 跳跃游戏 6. 跳跃游戏 II 7. K 次取反后最大化的数组和 8. 加油站 9. 分发糖果 一、理论基础 1. 大纲 2. 求解步骤 将问题分解为…...
el-select 可搜索、多选状态遮挡住搜索框
el-select 可搜索多选状态遮挡住搜索框 最近在使用 element-ui 中 el-select组件遇到一个问题, 我们需求可以多选,也可以输入搜索, 当鼠标在边框时才是输入搜索状态,通过下面gif动图可发现鼠标经过边框时,才显示清空图…...
el-table中实现可选表格区域的鼠标事件检测
背景描述 vue3element plus想要实现el-table中特定区域内的单元格才可点击 代码实现 首先,需要给el-table绑定单元格点击事件 <el-table :data"currTableData"borderstyle"width: 100%;"height"calc(100vh - 400px)"cell-clic…...
特种作业操作登高架设作业历年真题附答案
1.直接引起坠落的客观危险因素之平均温度低于( )℃。 A.10 B.3 C.5 答案:C 2.从事脚手架支搭作业的人员必须年满( )周岁。 A.18 B.20 C.22 答案:A 3.跨越架横杆有效部分的小头直径不…...
schedule-执行周期性任务
模块介绍 该模块主要用于python的任务调度,使用简便友好的python语法定期运行python函数或者一些其他的调用对象,这个模块就类似于windows的任务计划和linux的crontab,都是用于在服务器上周期性执行某段python脚本。 相较于linux的crontab对…...
python图片文件路径排序
解决用sord 排序文件路径乱序问题: image_files 是 图片文件路径列表[pythonProject/video2img/1.jpg,pythonProject/video2img/2.jpg,.......] image_files.sort(keylambda x: int(x.split(/)[-1].split(.)[0]))...
ARTTrack6/M、ARTTrack5、ART AT7-80横向对比
在光学跟踪系统领域,ART公司凭借其先进的技术和卓越的产品性能,一直受到市场的广泛关注。ARTTrack6/M、ARTTrack5和ART AT7-80作为ART公司的三款代表性产品,各自在不同的应用场景中发挥着重要作用。本文将对这三款产品进行纵向对比࿰…...
【Vue】Vue3.0(十三)中标签属性ref(加在普通标签上、加在组件标签上)、局部样式
上篇文章: 【Vue】Vue3.0 (十二)、watchEffect 和watch的区别及使用 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年10月18日20点56分 文章目录 基本…...
Linux系统基础-文件系统
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-文件系统 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 回顾C语言…...
机器学习和深度学习常用的工具库
一、机器学习常用库 1. Scikit-learn 简介:一个基于Python的机器学习库,专注于经典的机器学习算法。特点: 提供了多种分类、回归、聚类和降维算法。具有统一的API,便于使用。集成了数据预处理、模型选择和评估等功能。 应用&…...
【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍
文章目录 前言安装新功能变化1、官方推荐使用inputsystem进行输入控制2、修复了InputSystem命名错误导致listen被遮挡的bug3、自带去除unity启动画面logo功能4、unity官方的behavior行为树插件5、linearVelocity代替过时的velocity方法待续 完结 前言 2024/10/17其实unity就已…...
5种边界填充
目录 边界填充需要知道的两个东西什么算边界边界的范围是多少举例 复制填充反射法反射101法外包装法数值填充法原图代码最终效果 边界填充需要知道的两个东西 什么算边界 顾名思义:就是图片的最外边 边界的范围是多少 根据你自己的需要而设置 举例 这里我选择…...
鸿蒙网络编程系列7-TLS安全数据传输单向认证示例
1.TLS简介 TLS(Transport Layer Security)协议的前身是SSL(Secure Socket Layer)安全套接层协议,由Netscape公司于1994年提出,是一套网络通信安全协议。IETF(The Internet Engineering Task Fo…...
LangGraph 源码分析 | BaseTool 模板类
文章目录 BaseTool 源码分析核心属性以 TavilySearchResults(BaseTool) 为例namedescriptionargs_schemaresponse_format查询选项属性 需要子类实现的抽象方法以 TavilySearchResults(BaseTool) 为例 核心方法arun():run()的异步执行版本invoke()和ainvoke() BaseTo…...
vulnhub靶场之JOY
一.环境搭建 1.靶场描述 Does penetration testing spark joy? If it does, this machine is for you. This machine is full of services, full of fun, but how many ways are there to align the stars? Perhaps, just like the child in all of us, we may find joy in …...
intel和AMD突然联姻,这操作给我看傻了
要说现在的显卡一哥,那肯定非 NVIDIA 莫属,不仅仅是在 AI 领域是赚的盆满钵满,更是在游戏显卡领域把红蓝两家打的节节败退。 在 6000 系列尚能与之一战的 AMD 也认清了现实,在最近宣布了下一代 8000 系列显卡放弃高端显卡战争&…...
yolo_face_pose-DataBall 人脸关键点数据集 >> DataBall
数据集下载地址:ultralyticsyolo训练自定义人脸关键点训练和验证数据集资源-CSDN文库 数据集定义: ultralytics yolo 训练自定义人脸关键点训练和验证数据集 数据集格式:yolo 训练集数量:3295 验证集数量:120 类别&a…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
