语法
片段body
的 可以使用特殊结构来控制光标和插入的文本。以下是支持的功能及其语法:
一、制表位
使用制表位,您可以使编辑器光标在片段内移动。使用$1
,$2
指定光标位置。数字是访问制表位的顺序,而$0表示最终光标位置。同一制表位的多次出现被链接并同步更新。
语法
"console.log": {
"prefix": "log",
"body": [ "console.log($1)", "$2" ],
"description": "console.log快捷"
}
二、占位符
占位符是带有值的制表位,例如${1:foo}
. 将插入并选择占位符文本,以便轻松更改。占位符可以嵌套,例如${1:another ${2:placeholder}}
.
三、选择
占位符可以有选择作为值。语法是用逗号分隔的值枚举,用竖线字符括起来,例如${1|one,two,three|}
。当插入片段并选择占位符时,选项将提示用户选择其中一个值。
四、变量
使用$nameor ${name:default}
,您可以插入变量的值。当未设置变量时,将插入其默认值或空字符串。当一个变量是未知的(也就是说,它的名字没有被定义)时,变量的名字被插入并且它被转换成一个占位符。
4.1 文档
变量
-
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
打开的工作区或文件夹的路径 -
CURSOR_INDEX
基于零索引的游标号 -
CURSOR_NUMBER
基于单索引的游标号
语法
"mdb": {
"prefix": "mdb",
"body": [
"---",
"title: ${TM_FILENAME_BASE}",
"slug: ${TM_FILENAME_BASE}",
"authors: [bolawen]",
"date: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}",
"tags: [${TM_FILENAME_BASE}]",
"description: 好文章,就在柏拉文网",
"keywords: [${TM_FILENAME_BASE}]",
"image: https://bolawen.github.io/resource/image/poster/9.jpg",
"---",
"",
"",
"文章摘要",
"<!--truncate-->",
],
"description": "markdown 模板"
},
4.2 日期
变量
-
CURRENT_YEAR
本年度 -
CURRENT_YEAR_SHORT
当前年份的最后两位数 -
CURRENT_MONTH
两位数的月份(例如“02”) -
CURRENT_MONTH_NAME
月份的全名(例如“七月”) -
CURRENT_MONTH_NAME_SHORT
月份的简称(例如“Jul”) -
CURRENT_DATE
以两位数表示的月份日期(例如“08”) -
CURRENT_DAY_NAME
星期几的名称(例如“星期一”) -
CURRENT_DAY_NAME_SHORT
当天的简称(例如“星期一”) -
CURRENT_HOUR24
小时制格式的当前小时 -
CURRENT_MINUTE
当前分钟为两位数 -
CURRENT_SECOND
当前秒为两位数 -
CURRENT_SECONDS_UNIX
自Unix
纪元以来的秒数
语法
"mdd": {
"prefix": "mdd",
"body": [
"---",
"id: ${TM_FILENAME_BASE}",
"title: ${TM_FILENAME_BASE}",
"---",
"",
"<Author createTime=\"${CURRENT_YEAR}年${CURRENT_MONTH}月${CURRENT_DATE}日\"></Author>",
],
"description": "markdown 模板"
},
"sidebar":{
"prefix": "sidebar",
"body": [
"module.exports = [",
"{",
" label: \"${TM_DIRECTORY}\",",
" dirName: \"${TM_DIRECTORY}\"",
"},",
"]"
]
},
4.3 随机值
-
RANDOM6
个随机的Base-10
数字 -
RANDOM_HEX6
个随机Base-16
数字 -
UUID
版本4 UUID
4.4 行块注释
-
BLOCK_COMMENT_START
示例输出:PHP/*
或HTML<!--
-
BLOCK_COMMENT_END
示例输出:PHP*/
或HTML-->
-
LINE_COMMENT
示例输出:在PHP
中//