跳到主要内容

语法

2023年02月24日
柏拉文
越努力,越幸运

片段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_UNIXUnix 纪元以来的秒数

语法

"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//