VSCode 中使用 Snippets 设置常用代码块

ops/2025/2/21 16:43:19/

背景

在开发中,有很多代码片段是重复的,例如:vue文件中的模版,react 中的模版,打印的 log 等等,很多很多。对于这些重复性的工作,vscode 官方提供了解决方案-Snippets in Visual Studio Code,以此来提高开发效率。下面就简单介绍下基本的使用方法:

使用步骤

以mac 系统为例(win 也大差不差)。搭配图文描述

  1. 找到配置入口(如下图):code -> Preferences -> Configure Snippets

  1. 进入到选择页面(如下图)。假如是第一次配置的话,是没有序号 1的 (我自己正在使用的代码片段);
  • 第一次配置,可以点击序号 2,配置全局的代码片段,会产生一个 code-Snippets 后缀的文件,这个文件就是存放全局代码片段的文件了。所谓全局,也就是不管什么语言,都可以使用全局的代码片段
  • 也可以点击序号 3,为正在开发中的项目,配置自定义的代码片段
  • 还可以选择序号 4,为指定的语言配置自定义代码片段。在书写对应语言的时候,vscode 会检测到语言类型,然后就可以使用配置的代码片段了。

  1. 进入到配置页面,以我自己使用的代码片段文件global-test-snippets.code-snippets为例:

框起来的这块代码片段,可以实现:在 js 文件中,打印 log然后选择 Snippets_console,输出console.log('$1: ', $2);然后光标会定位到 $1位置,点击 tab按键,又定位到 $2,光标的位置会根据序号的次序来移动,但是$0 作为会光标最终的落点。

字段解释:

  • Snippets_console:表示代码片段的名字(使用的时候对应序号 2);
  • scope代码片段的作用域,我这边限制了js、ts、jsx、tsx 可以触发这个代码片段。(对应新手来说,该值可以就填个空字符串,表示任何语言都可以使用该代码片段);
  • prefix: 触发代码片段的快捷单词(使用的时候对应序号 1)
  • body: 自定义代码片段,一般用数组包裹;
  • description: 代码片段的描述文案。

结尾

本篇文章只是初步介绍了在 vscode 中使用代码片段的基本使用方法和语法,官网中还提供了更加详细的内容,比如变量的使用、默认值的使用等。如果想要了解的更加深入,可以看文章末尾的参考内容。因为我也是近期才发现这个东西的,就想着写篇文章记录、分享一下。如有不足之处,烦请指出,共同进步进步。

下面是我自己使用的一些代码片段

javascript">{// congsole.log 输出到控制台, 提供变量"Snippets_console": {"scope": "javascript, javascriptreact, typescript, typescriptreact","prefix": "log","body": ["console.log('$1: ', $2);","","$0"],"description": "Log output to console"},// congsole.log 输出到控制台, 不提供变量"Snippets_console1": {"scope": "","prefix": "log1","body": ["console.log('调试一下');","","$0"],"description": "Log output to console1"},// react 类组件代码片段"Snippets_react类组件": {"scope": "","prefix": "rcc","body": ["import React, { Component } from 'react';","","class ${1:ReactComponent} extends Component {","  render() {","    return (","      <div>","        $2","      </div>","    );","  }","}","","export default ${1:ReactComponent};","",],"description": "React Class Component"},// react 函数组件代码片段"Snippets_react函数式组件": {"scope": "","prefix": "rfc","body": ["import React, { useState } from 'react';","","export default function ${1:ReactComponent}() {","  return (","    <div>","      $2","    </div>","  );","}","",],"description": "React Function Component"},"JSDoc for API Function": {"prefix": "jsdoc-api","body": ["/**"," * ${1:接口描述:}"," *"," * @param {any} params - 请求参数"," * @returns {Promise<any>} 返回数据"," */"],"description": "API 请求函数的 JSDoc 注释模板"}
}

参考

  • https://code.visualstudio.com/docs/editor/userdefinedsnippets
  • https://code.visualstudio.com/docs/languages/identifiers
  • https://snippet-generator.app/

http://www.ppmy.cn/ops/160286.html

相关文章

【Java】详细讲解数据类型与运算符

&#x1f3e0;大家好&#xff0c;我是Yui_&#x1f4ac; &#x1f351;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f680;如有不懂&#xff0c;可以随时向我提问&#xff0c;我会全力讲解~ &#x1f52…

PHP+Apache+MySQL安装(Windows)

一、安装教程 参考链接1 参考链接2 二、问题描述 PHP安装目录下找不到php8apache2_4.dll PHP安装包下载错误 Apache Service Monitor: request operation has failed! 定位问题&#xff1a; 查看【事件查看器】 解决问题 安装或更新与PHP版本相对应的Visual C Redistribu…

分布式大语言模型服务引擎vLLM论文解读

论文地址&#xff1a;Efficient Memory Management for Large Language Model Serving with PagedAttention 摘要 大语言模型&#xff08;LLMs&#xff09;的高吞吐量服务需要一次对足够多的请求进行批处理。然而&#xff0c;现有系统面临困境&#xff0c;因为每个请求的键值…

Ubuntu安装PostgreSQL

安装 sudo apt update sudo apt install -y postgresql postgresql-client 启动服务 sudo systemctl start postgresqlsudo systemctl enable postgresql 配置文件目录 /etc/postgresql/{version}/main/ 配置新用户、新数据库 sudo -u postgres psql# 新建用户&#xf…

【蓝桥杯集训·每日一题2025】 AcWing 6122. 农夫约翰的奶酪块 python

Week 1 2月17日 农夫约翰的奶酪块 农夫约翰有一块立方体形状的奶酪&#xff0c;它位于三维坐标空间中&#xff0c;从 ( 0 , 0 , 0 ) (0,0,0) (0,0,0) 延伸至 ( N , N , N ) (N,N,N) (N,N,N)。 农夫约翰将对他的奶酪块执行一系列 Q Q Q 次更新操作。 对于每次更新操作&…

图解长短期记忆网络(LSTM)

目录 ​编辑 1.长短期记忆网络介绍 2.网络结构 3.模型工作示例 1.长短期记忆网络介绍 在传统的循环神经网络&#xff08;RNN&#xff09;中&#xff0c;神经网络通过循环结构处理序列数据&#xff0c;但存在一个严重的问题&#xff1a;梯度消失和梯度爆炸。这意味着网络很…

鸿道Intewell操作系统:赋能高端装备制造,引领国产数控系统迈向新高度

在当今全球制造业竞争日益激烈的时代&#xff0c;高端装备制造作为国家核心竞争力的重要组成部分&#xff0c;其发展水平直接影响着一个国家的综合实力。而CNC数控系统&#xff0c;作为高端装备制造的“大脑”&#xff0c;对于提升装备的精度、效率和智能化水平起着关键作用。鸿…

如何使用动画和日期差值来切换和展示任务-计划时钟(微信小程序)

微信小程序-计划时钟已上线&#xff0c;欢迎各位小伙伴的测试和使用~&#xff08;微信小程序搜计划时钟即可使用&#xff09; 在这篇博客中&#xff0c;我们将介绍如何使用 JavaScript 和微信小程序的 wx.createAnimation API 来实现基于日期差值的切换动画。我们还会展示如何…