代码段是模板,可以让您更轻松地输入重复的代码模式,例如循环或条件语句。javascript
在Visual Studio Code中,代码片断会与其余建议一块儿出如今智能感知中,也出如今专用的代码片断选择器中(在“命令面板”中插入代码片断)。还支持制表符补全:使用启用它"editor.tabCompletion": "on",键入一个代码段前缀(触发文本),而后按Tab插入一个代码段。html
您能够轻松定义本身的代码片断,而无需任何扩展。要建立或编辑本身的代码段,请在“ 文件” > “首选项****”下选择“ 用户代码段****”(在macOS上为“ 代码” > “首选项 ”),而后选择要显示代码段的语言,若是须要,则选择“ 新建全局代码段”文件选项。出现全部语言。VS Code为您管理基础代码段文件的建立和刷新。java
代码段文件以JSON格式编写,支持C样式的注释,而且能够定义无限数量的代码段。片断支持大多数TextMate语法以实现动态行为,并根据插入上下文智能地格式化空格,并容许轻松地进行多行编辑。json
如下是forJavaScript循环代码段的示例:编辑器
// in file 'Code/User/snippets/javascript.json' { "For Loop": { "prefix": ["for", "for-const"], "body": ["for (const ${2:element} of ${1:array}) {", "\t$0", "}"], "description": "A for loop." } }
在上面的示例中:ide
另外,所述body的例子中的上述具备三个占位符(在遍历顺序列出): ,${1:array},${2:element}和$0。您能够使用Tab快速跳到下一个占位符,此时您能够编辑占位符或再次跳到下一个占位符。结肠(若是有的话)以后的字符串是默认的文本,例如element在${2:element}。占位符遍历顺序从数字开始递增,从1开始;零是一种可选的特殊状况,它老是排在最后,并在光标位于指定位置的状况下退出摘要模式。oop
代码片断的范围有限,所以仅建议相关代码段。片断的范围能够是:code
根据是否在如下代码中定义,每一个代码段的范围都限于一种,几种或全部(“全局”)语言:htm
用户定义的单语言代码段是在特定语言的代码段文件中定义的(例如javascript.json),您能够经过“首选项:配置用户代码段”中的语言标识符来访问该文件。仅在编辑其定义的语言时才能访问该代码段。blog
多语言和全局用户定义的代码段均在“全局”代码段文件(带有文件后缀的JSON .code-snippets)中定义,也能够经过“首选项:配置用户代码段”进行访问。在全局代码段文件中,代码段定义可能具备scope采用一个或多个语言标识符的附加属性,这使该代码段仅可用于那些指定的语言。若是未提供任何scope属性,则全局代码段适用于全部语言。
大多数用户定义的代码段的范围仅限于一种语言,所以是在特定于语言的代码段文件中定义的。
您还能够将全局片断文件(带有文件后缀的JSON .code-snippets)的范围限定到您的项目。项目文件夹摘要是使用“'...“ 首选项:配置用户代码段”下拉菜单中的“选项”选项,该选项位于.vscode文件夹中项目的根目录下。项目摘要文件可用于与该项目中的全部用户共享摘要。项目文件夹片断与全局片断类似,而且能够经过该scope属性将范围限定为特定语言。
该body片断能够使用特殊的结构来控制插入光标和文字。如下是受支持的功能及其语法:
使用制表符,能够使编辑器光标在摘要内移动。使用$1,$2指定游标的位置,。该数字是将按$0Tab键访问的顺序,而表示最终光标的位置。相同的Tabstop的屡次出现被连接并同步更新。
占位符是带有值的制表符,例如${1:foo}。将插入并选择占位符文本,以即可以轻松更改它。占位符能够嵌套,例如${1:another ${2:placeholder}}。
占位符能够选择做为值。语法是用逗号分隔的值枚举,例如用竖线字符括起来${1|one,two,three|}。插入代码段并选择占位符后,选项将提示用户选择其中一个值。
使用$name或${name:default},您能够插入变量的值。若是未设置变量,则将其默认值或空字符串插入。当变量未知(即未定义其名称)时,将插入该变量的名称,并将其转换为占位符。
使用$name或${name:default},您能够插入变量的值。若是未设置变量,则将其默认值或空字符串插入。当变量未知(即未定义其名称)时,将插入该变量的名称,并将其转换为占位符。
能够使用如下变量:
要插入当前日期和时间:
要插入行或块注释,请遵循当前语言:
如下代码段可插入/* Hello World */JavaScript文件和<!-- Hello World -->HTML文件中:
{ "hello": { "scope": "javascript,html", "prefix": "hello", "body": "$BLOCK_COMMENT_START Hello World $BLOCK_COMMENT_END" } }