vsCode自定义代码片段,生成个性化代码模板

在vscode编辑器里开发代码时会发现,vscode内置了一些语言的代码片段,会在智能提示框里一起出现,帮助自动补全代码,用起来很方便。
这些代码片段是通过snippets来实现的,在扩展市场里提供里各种语言的代码片段
vsCode自定义代码片段,生成个性化代码模板_第1张图片
那么这些snippets是如何实现的呢?如果我们自己业务开发中经常用到的代码也能在编辑器里智能补全的话,就可以省去很多重复的工作,大大提升开发效率。

本文就来汇总一下,开发自定义snippets的几个步骤,简单几个步骤,配置出适合自己的vscode

找到配置用户代码片段的入口

  1. 入口一:在“文件” > “首选项”下选择“用户代码段”(在macOS上为“代码” > “首选项”)
  2. 入口二:按下快捷键⇧⌘P, 输入snippets,选择配置用户代码片段,如下图:
    vsCode自定义代码片段,生成个性化代码模板_第2张图片
    之后会出现以下选择界面
    vsCode自定义代码片段,生成个性化代码模板_第3张图片
    这里有两种操作:
  1. 选择某种语言类型,那么添加的代码片段则只在这种语言的文件中生效。例如选择javascript后,编辑器会打开一个javascript.json文件,在这里添加的代码片段,只会在js文件里提示
  2. 新建全局代码片段,编辑器会要求输入一个文件名,会创建一个后缀是.code-snippets的文件,在这里维护代码片段在任何类型语言文件中都能使用

编辑和使用代码片段

按照上面方法打开的json文件后,添加如下格式的代码
vsCode自定义代码片段,生成个性化代码模板_第4张图片
在编辑器里输入conlg ,选择提示框里的第一项,文件里就会填充好下面的代码内容
vsCode自定义代码片段,生成个性化代码模板_第5张图片在这里插入图片描述

代码片段语法

prefix: 触发提示的关键词
scope: 可选属性,一个或多个语言标识符,这使该代码段仅可用于那些指定的语言
body: 是要填充到文件的代码内容, 是一个数组,数组里的每一项代表一行

  • \t表示一个tab缩进
  • body里写了$1, $2, $0的地方,在生成代码片段后,可以通过tab键按顺序快速到达,$0是光标最后会到达的地方
  • 示例里的${1:object}写法,表示临时占位的字符,代码填充后占位符会默认选中,方便修改;
  • 占位符可以提供选择,${1|one,two,three|},效果如下
    vsCode自定义代码片段,生成个性化代码模板_第6张图片
  • 可以使用变量,用法为$name${name: default},没有获取到变量时,会把默认值或空字符串插入代码。

VScode提供的变量有以下
TM_SELECTED_TEXT 当前选择的文本或空字符串
TM_CURRENT_LINE 当前行的内容
TM_CURRENT_WORD 光标下的单词内容或空字符串
TM_FILENAME 当前文档的文件名
TM_FILENAME_BASE 当前文档的文件名,不带扩展名
TM_DIRECTORY 当前文件的目录
TM_FILEPATH 当前文档的完整文件路径
CLIPBOARD 剪贴板中的内容
TM_LINE_INDEX 基于零索引的行号
TM_LINE_NUMBER 基于一索引的行号
WORKSPACE_NAME 打开的工作空间或文件夹的名称
WORKSPACE_FOLDER 打开的工作空间或文件夹的路径

例如如下配置,在编辑器里复制一个变量后,输入conlg,代码片段会自动填充剪贴板的变量。
vsCode自定义代码片段,生成个性化代码模板_第7张图片

总结:
操作很简单,在对应的代码片段配置文件里配置模板就可以了

你可能感兴趣的:(日常总结)