vscode添加自定义的用户代码片段

在vscode中添加代码片段

在这里插入图片描述

选择“新建全局代码片段文件,然后输入文件名(随便输入)

在这里插入图片描述
输入文件名

然后会生成文件,安装文件中的Example就可以添加代码片段

在这里插入图片描述

里面各个字段的含义:

"Print to console:代码片段的名称,不同代码片段需要不同,在快捷输入中可以看到

scope:表示这个代码片段使用的语言,多种用,分隔,如果不写表示全部适用

prefix:表示快捷输入的字符串,输入的内容出现提示

body:生成代码的主体,具体在后续讲解

description:描述

"Print to console": {
     "scope": "javascript,typescript,vue",
     "prefix": "temp",
     "body": [
      "<template>",
      "",
      "</template>",
      "<script setup lang=\"ts\">",
      "",
      "</script>",
     ],
     "description": "fast template"
   }

在Vue文件中使用,输入temp

在这里插入图片描述

就能快速生成想要的代码

在这里插入图片描述

定义多个代码片段

在一个文件中可以定义多个代码片段,只要符合json格式,修改每个代码片段名称,并用,连接

在这里插入图片描述

body定义详解

多行定义方式

多行有两种写法:

一种需要每行用"",然后行之间用,连接(如示例)

"Print to vue": {
     "scope": "javascript,typescript,vue",
     "prefix": "temp",
     "body": [
      "<template>",
      "",
      "</template>",
      "<script setup lang=\"ts\">",
      "",
      "</script>",
     ],
     "description": "fast template"
   }

另一种就是使用特殊符号\n进行分行(不推荐)

特殊内容

在 Visual Studio Code 的用户代码片段中,您可以通过在 body 部分添加特殊内容来实现更灵活的代码片段。特殊内容可以是以下之一:

  1. 占位符(Placeholder):使用 $1$2$3 等占位符来定义插入代码后光标的位置。例如:
{
    "My Placeholder": {
        "prefix": "plac",
        "body": [
            "console.log('$1');",
            "$2"
        ],
        "description": "My custom code snippet"
    }
}

2.变量(Variable):使用 ${variableName} 形式的变量来允许在代码插入时进行输入,多个变量通过tab切换进行修改。例如:

{
    "My Variable": {
        "prefix": "mvar",
        "body": [
            "const ${1:name} = ${2:value};",
            "$3"
        ],
        "description": "My custom code snippet:Variable"
    }
}

在这里插入图片描述
在这里插入图片描述

3.循环(Tab stops):使用 $0 定义最后一个 Tab stop,使得在插入代码后,光标会回到这个位置。例如:

{
    "My Tab stops": {
        "prefix": "myfor",
        "body": [
            "for (let ${1:i} = 0; $1 < ${2:array}.length; $1++) {",
            "\tconst item = ${2:array}[$1];",
            "\t$0",
            "}"
        ],
        "description": "My custom code snippet:for"
    }
}

在保存用户代码片段文件后,使用触发关键字即可在编辑器中插入代码片段,并根据需要填充特殊内容。按下 Tab 键将在占位符和变量之间切换,方便您快速编辑代码片段。

预定义变量

VSCode 提供了一些预定义的变量,用于获取选定文本或行号等信息。

日期变量

最常见的就是日期变量:

  1. $CURRENT_YEAR: 当前的年份,例如:2023
  2. $CURRENT_MONTH: 当前的月份(两位数),例如:08
  3. $CURRENT_DATE: 当前的日期(两位数),例如:01
  4. $CURRENT_HOUR: 当前的小时(24 小时制,两位数),例如:12
  5. $CURRENT_MINUTE: 当前的分钟(两位数),例如:34
  6. $CURRENT_SECOND: 当前的秒数(两位数),例如:56

这些变量用于在代码片段中插入当前的日期和时间,方便在代码注释或其他文本中包含时间戳等信息。

例如,上面提到的示例代码片段:

{
    "My Time": {
        "prefix": "mySnippet",
        "body": [
            "/* Current Date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE */",
            "/* Current Time: $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND */",
            "$0"
        ],
        "description": "My custom code snippet"
    }
}

在使用这个代码片段时,$CURRENT_YEAR$CURRENT_MONTH$CURRENT_DATE$CURRENT_HOUR$CURRENT_MINUTE$CURRENT_SECOND 会被实际的日期和时间值替换。

请注意,这些内置变量只在代码片段插入时动态地显示当前的日期和时间,而不会随着时间的推移而更新。

其他内置变量

除了日期和时间相关的内置变量,Visual Studio Code 还提供了一些其他有用的内置变量。以下是一些常用的内置变量及其用途:

  1. $CLIPBOARD: 剪贴板中的内容。可以用于将剪贴板中的内容粘贴到代码片段中。
  2. $TM_SELECTED_TEXT: 当前选中的文本内容。可以用于将选中的文本插入到代码片段中。
  3. $TM_CURRENT_LINE: 当前所在行的内容。
  4. $TM_CURRENT_WORD: 当前光标所在位置的单词。
  5. $TM_FILENAME: 当前打开的文件的文件名(包含扩展名)。
  6. $TM_FILENAME_BASE: 当前打开的文件的文件名(不包含扩展名)。
  7. $TM_DIRECTORY: 当前打开的文件所在的目录路径。
  8. $TM_FILEPATH: 当前打开的文件的完整路径(包含文件名)。
  9. $TM_LINE_INDEX: 当前所在行的索引(从0开始计数)。
  10. $TM_LINE_NUMBER: 当前所在行的行号(从1开始计数)。
  11. $TM_LINE_START: 当前行的起始位置。
  12. $TM_LINE_END: 当前行的结束位置。

还有一些关于时间的内置变量及其说明:

整体示例

这些变量可以让您在代码片段中动态地插入与当前编辑环境相关的内容,例如当前文件名、当前行内容等。可以根据需要使用这些内置变量来定制自己的代码片段,以提高编码效率。

一下是一个示例使用了上面那些内置变量:

{
    "Insert Info Comment": {
        "prefix": "infoComment",
        "body": [
            "/*",
            " * File: $TM_FILENAME",
            " * Path: $TM_FILEPATH",
            " * Directory: $TM_DIRECTORY",
            " * Line: $TM_LINE_NUMBER",
            " * Line Index: $TM_LINE_INDEX",
            " * Current Word: $TM_CURRENT_WORD",
            " * Selected Text: $TM_SELECTED_TEXT",
            " * Clipboard Content: $CLIPBOARD",
            " * Current Line: $TM_CURRENT_LINE",
            " * Date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
            " * Time: $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
            " */",
            "$0"
        ],
        "description": "Insert information comment"
    }
}

效果:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

迷你主机中的战斗机 Intel NUC 12 Serpent Canyon拆解

千呼万唤始出来&#xff0c;新一代游戏和创作者性能怪兽 mini主机 NUC 12 Serpent Canyon&#xff08;巨蛇峡谷终于发售了&#xff0c;以超紧凑的 2.5 升尺寸提供用户所需的所有性能和创新功能。NUC 12 Enthusiast 还首次将 Intel Deep Link 引入桌面&#xff0c;使 CPU 和 GPU…

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板5

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

git常用指令

git add命令 作用&#xff1a;移动文件&#xff1a;工作区-->暂存区 git add .&#xff1a;把所有文件都放到暂存区 git commit命令 作用&#xff1a;移动文件&#xff1a;暂存区-->本地仓库 git status命令 作用&#xff1a;查看修改状态 git log命令 作用&#xf…

天津web前端开发培训班 零基础如何学习前端?

学习Web前端有很多好处&#xff0c;它可以提高你的数字技能&#xff0c;使你更具有竞争力&#xff0c;而且Web前端是一个需求量很大的岗位&#xff0c;有这项技能在手&#xff0c;你可以轻松地找到一份工作。 什么是web前端 前端开发是创建web页面或app等前端界面给用户的过程…

大数据学习教程:Linux 高级教程(上)

一、Linux用户与权限 1. 用户和权限的基本概念 1.1、基本概念 用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理 在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限 对 文件 / 目录 的…

Spring之事务实现方式及原理

目录 Spring事务简介 Spring支持事务管理的两种方式 编程式事务控制 声明式事务管理 Spring事务角色 未开启事务之前 开启Spring的事务管理后 事务配置 事务传播行为 事务传播行为的可选值 Spring事务简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功…

VR 变电站事故追忆反演——正泰电力携手图扑

VR(Virtual Reality&#xff0c;虚拟现实)技术作为近年来快速发展的一项新技术&#xff0c;具有广泛的应用前景&#xff0c;支持融合人工智能、机器学习、大数据等技术&#xff0c;实现更加智能化、个性化的应用。在电力能源领域&#xff0c;VR 技术在高性能计算机和专有设备支…

【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)

文章目录 一、背景二、方法2.1 主要过程2.2 Forming Bag of Regions2.3 Representing Bag of Regions2.4 Aligning bag of regions 三、效果 论文&#xff1a;Aligning Bag of Regions for Open-Vocabulary Object Detection 代码&#xff1a;https://github.com/wusize/ovdet…

网络安全进阶学习第九课——SQL注入介绍

文章目录 一、什么是注入二、什么是SQL注入三、SQL注入产生的原因四、SQL注入的危害五、SQL注入在渗透中的利用1、绕过登录验证&#xff1a;使用万能密码登录网站后台等。2、获取敏感数据3、文件系统操作4、注册表操作5、执行系统命令 六、如何挖掘SQL注入1、SQL注入漏洞分类按…

LLaMA系列 | LLaMA和LLaMA-2精简总结

文章目录 1、LLaMA1.1、模型结构1.2、训练方式1.3、结论 2、LLaMA-22.1、相比LLaMA1的升级2.3、模型结构2.3.1、MHA, MQA, GQA区别与联系 2.4、训练方式 1、LLaMA &#x1f525; 纯基座语言模型 《LLaMA: Open and Efficient Foundation Language Models》&#xff1a;https:/…

大麦链接源码 大麦一键生成订单截图

8.4最新版源码 更新了大麦链接模版 更新了大麦订单截图一键生成 下载源码&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

Android 自定义按钮(可滑动、点击)

按钮图片素材 https://download.csdn.net/download/Lan_Se_Tian_Ma/88151085 px 和 dp 转换工具类&#xff08;Java&#xff09; // px 和 dp 转换工具类 public class DensityUtil {/*** 根据手机的分辨率从 dip 的单位 转成为 px(像素)*/public static int dip2px(Conte…

Excel技巧 - 管理规则设置一行变色

如何设置某一列单元格的值大于一个值时&#xff0c;该单元格所在的一整行都变色呢&#xff1f; 1、先框选内容区域&#xff0c;点击开始&#xff0c;条件格式&#xff0c;新建规则 2、如果销量大于20&#xff0c;则该行都变为绿色 编辑格式选择&#xff1a;使用公式确定要设置…

springboot第33集:nacos图

./startup.sh -m standalone Nacos是一个内部微服务组件&#xff0c;需要在可信的内部网络中运行&#xff0c;不可暴露在公网环境&#xff0c;防止带来安全风险。Nacos提供简单的鉴权实现&#xff0c;为防止业务错用的弱鉴权体系&#xff0c;不是防止恶意攻击的强鉴权体系。 鉴…

ChatGPT及其工作原理;OpenAI申请注册商标GPT-5,引发关注

&#x1f989; AI新闻 &#x1f680; OpenAI申请注册商标GPT-5&#xff0c;引发关注 摘要&#xff1a;OpenAI已在上月18日申请注册商标GPT-5&#xff0c;显示该模型将提供文本生成、自然语言理解、语音转录、翻译、分析等功能。此前OpenAI曾表示尚未开始训练GPT-4的后继者GPT…

在 React 中渲染大型数据集的 3 种方法

随着 Web 应用程序变得越来越复杂&#xff0c;我们需要找到有效的方法来优化性能和渲染大型数据集。在 React 应用程序中处理大型数据集时&#xff0c;一次呈现所有数据可能会导致性能不佳和加载时间变慢。 虚拟化是一种通过一次仅呈现数据集的一部分来解决此问题的技术&#…

I.MX6ULL_Linux_驱动篇(41)platform设备驱动框架

我们在前面几章编写的设备驱动都非常的简单&#xff0c;都是对IO进行最简单的读写操作。像I2C、SPI、 LCD 等这些复杂外设的驱动就不能这么去写了&#xff0c; Linux 系统要考虑到驱动的可重用性&#xff0c;因此提出了驱动的分离与分层这样的软件思路&#xff0c;在这个思路下…

原型链污染,nodejs逃逸例子

文章目录 原型链污染原型链污染原理原型链污染小例子 原型链污染题目解析第一题第二题 Nodejs沙箱逃逸方法一方法二 原型链污染 原型链污染原理 原型链 function test(){this.a test; } b new test;可以看到b在实例化为test对象以后&#xff0c;就可以输出test类中的属性a…

用python做一个小项目,python做简单小项目

大家好&#xff0c;本文将围绕用python做一个小项目展开说明&#xff0c;python做简单小项目是一个很多人都想弄明白的事情&#xff0c;想搞清楚python入门小项目需要先了解以下几个事情。 来源丨网络 经常听到有朋友说&#xff0c;学习编程是一件非常枯燥无味的事情。其实&…