VSCode使用指南-自定义代码片段(包括删除、置顶、注释)

一、自定义代码片段的创建、置顶、删除

1、代码片段文件创建

依次点击VSCode左下角设置图标-->代码片段选项,即可选择创建需要的代码片段文件类型。

e3f2379eaa124f4983a2d68ceddea90d.png

如下图所示、3种类型的代码片段文件的区别为:

  1. 全局代码片段:此时文件存储在用户目录下,所有的项目均可使用此代码片段
  2. 局部代码片段:此时文件存储在项目目录下,只有此项目可使用此代码片段
  3. 特定语言代码片段:同全局代码片段,但只用特定的语言可以使用

0991c59ed4ab48e49492bf57442939ce.png

2、代码片段文件置顶(不必要)

调用代码片段时,弹出的建议列表中代码片段穿插在其他建议中,在文件-->首选项-->设置中搜索“snippet suggestion”,入下图,调整为top后,代码片段将始终位于建议列表顶部。

34eb5d1a40aa4500960a0cea2c3e58ef.png

3、代码片段文件删除

代码片段文件需要手动删除,可以通过文件资源管理器打开后删除。

二、代码片段的基本结构与语法

1、代码片段基本结构

如下图,创建代码片段文件时会给出一个基本例子,通过例子可以看到代码片段基本结构有:

  1. 代码片段作用描述:用于概况描述代码片段的作用
  2. scope:代码片段作用的语言
  3. prefix:代码片段触发的字符,输入此字符调用代码片段
  4. body:代码片段主体,也就是模板部分
  5. description:代码片段的详细描述

b4e1a8f8797b403aad26f52988958c86.png

通过下面的例子,你可以更直观的了解各个部分的作用:

723d16e18df04bbca198cd0ec763d0c8.png

7220ab848e674370a2a44847512b85de.png

2、代码片段的基本语法

这里的语法指的是body中代码模板的语法,首先每一行代码模板必须双引号包裹并加上逗号(最后一句除外),其次还有:

  1. 标签:控制光标的位置,光标会出现在$1位置,按Tab键依次跳到$2、$3,而$0表示最终光标位置。同一制表位的多次出现会同步链接和更新。
  2. 占位符:带有值的标签,例如:${1:eg},与标签的区别是鼠标移动到此位置并选中eg字符。占位符可以嵌套,例如${1:another ${2:placeholder}},此时会先选中another placeholder,按Tab键后选中placeholder。
  3. 枚举选择${1|one,two,three|},此时会提示用户选择其中一个作为值。

三、变量

1、变量与变量类型

使用$name${name:default}可以动态调整值,如果name未设置,将插入默认值或空字符串。如果name不是定义好的(即未知名称),将将其转变为占位符。name有如下定义:

  • TM_SELECTED_TEXT 当前选中的文本或空字符串
  • TM_CURRENT_LINE 当前行的内容
  • TM_CURRENT_WORD 光标下单词的内容或空字符串
  • TM_LINE_INDEX 基于零索引的行号
  • TM_LINE_NUMBER 基于一个索引的行号
  • TM_FILENAME 当前文档的文件名
  • TM_FILENAME_BASE 当前文档的文件名,不带扩展名
  • TM_DIRECTORY 当前文档的目录
  • TM_FILEPATH 当前文档的完整文件路径
  • RELATIVE_FILEPATH 当前文档的相对(相对于打开的工作区或文件夹)文件路径
  • CLIPBOARD 剪贴板的内容
  • WORKSPACE_NAME 打开的工作区或文件夹的名称
  • WORKSPACE_FOLDER 打开的工作区或文件夹的路径

插入当前的日期和时间:

  • CURRENT_YEAR 本年度
  • CURRENT_YEAR_SHORT 当前年份的最后两位数字
  • CURRENT_MONTH 月份为两位数(例如“02”)
  • CURRENT_MONTH_NAME 月份的全名(例如“七月”)
  • CURRENT_MONTH_NAME_SHORT 月份的简称(例如“Jul”)
  • CURRENT_DATE 一个月中的哪一天
  • CURRENT_DAY_NAME 日期名称(例如“星期一”)
  • CURRENT_DAY_NAME_SHORT 一天的简称(例如“星期一”)
  • CURRENT_HOUR 24 小时制的当前小时
  • CURRENT_MINUTE 当前分钟
  • CURRENT_SECOND 当前秒
  • CURRENT_SECONDS_UNIX 自 Unix 纪元以来的秒数

插入随机值:

  • RANDOM 6位随机 Base-10 数字
  • RANDOM_HEX 6位随机 Base-16 数字
  • UUID V4版本 UUID

2、自定义注释片段

通过以下变量即可在代码模板中书写注释模板:

  • BLOCK_COMMENT_START --> PHP/*或 HTML<!--
  • BLOCK_COMMENT_END --> PHP*/或 HTML-->
  • LINE_COMMENT --> PHP //

3、变量转换与占位符转换

占位符转换与变量转换类似,通过正则表达式来动态的更改占位符与变量。语法为:${id/regex/format/options},具体解释如下:

  • id:占位符的编号或者变量。
  • regex:用于匹配占位符值的正则表达式。
  • format:用来替换匹配项的字符串,可以使用 $1$2, 等等来引用正则表达式的捕获组。
  • options:可选参数,比如 g 代表全局搜索,i 代表忽略大小写等。

下面给出具体例子:

占位符转换${1/(.*)/${1:/downcase}/}:这里的第一个占位符被定义为一个转换。它将匹配任何字符((.*)),然后将整个匹配结果通过 downcase 转换函数转换成小写。这个转换函数是内置的,用于将所有字母转换为小写字母。当你在此输入DIV时,按Tab后会自动帮你改为div。

变量转换${TM_FILENAME/[\.-]/_/g}:先获取文件名称1-1.js,[\.-]部分匹配.-字符,_部分代表将匹配字符改为_g代表匹配文件名中所有.-字符,因此最后输出为1_1_js

data-integration是指将来自不同数据源的数据整合到一个统一的数据存储中的过程。在数据集成的过程中,通常包括数据收集、数据提取、模式映射、数据转换、实体解析、数据质量评估和数据融合等步骤。 然而,在数据集成过程中,可能会遇到一些问题。首先,不同数据源之间可能存在字段的语义差异,即相同字段含义的差异。此外,数据源之间的结构差异以及字段之间的关联关系也是数据集成面临的问题。此外,数据的冗余和重复也是需要解决的问题。 综上所述,data-integration是将来自不同数据源的数据整合到一个统一的数据存储中的过程,具体包括数据收集、数据提取、模式映射、数据转换、实体解析、数据质量评估和数据融合等步骤。在数据集成过程中,可能遇到的问题包括字段意义差异、结构差异、字段关联关系以及数据冗余重复等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [data-integration](https://download.csdn.net/download/weixin_42110070/15890386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Data Integration Introduction](https://blog.csdn.net/weixin_44585796/article/details/127043123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [3.4 数据预处理(一) - 数据集成(Data Integration)](https://blog.csdn.net/Orange_Spotty_Cat/article/details/81335390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值