VsCode Snippets的Snippets功能
snippets是代码片段, 在这里的意思是代码模板. 在使用vscode写代码时,有时需要使用代码模板,一个典型的例子是在写文件头注释时,需要一个固定格式的注释,来表明当前的时间、作者等。
1. 使用内置的snippets
vscode中已经为我们内置了许多语言的代码模板,在安装了对应的语言插件后,可直接使用这些snippets.

2. 安装来自marketplace的snippets
按Ctrl+Shift+X打开marketplace, 输入@category:"snippets",即可下载来自marketplace的snippets

3. 自定义snippets
如果你对内置的或来自marketplace的snippets均不满意,那么你可以自定义你的snippets.
在File > Preferences > User Snippets选项下,选择你要定义snippets的文件类型
在选择了文件类型之后,你就可以根据vscode提供的Example自定义snippets了.
Example:
"Print to console": {
"prefix": "log",
"body": [
"console.log('$1');",
"$2"
],
"description": "Log output to console"
"Print to console"是你自定义的snippets的名字,prefix为前缀,在输入了你定义的prefix后,body中的内容就会输出到当前光标的位置.
在body中,你可以使用"variables“来描述你的snippets, 其格式为:
${1:label}: 其中的1表示在body输出后光标会第一个停放在这个位置,而label是对当前variables的描述.${1|one, two, three|}: 这个语法格式将提醒你选择one, two, three中的一个值.
$name或${name:default}: 其中的name为预定义的变量名,可使用default指定其默认值.预定义的变量名有如下:有关文件与目录的
TM_SELECTED_TEXT当前选定的文本或空字符串TM_CURRENT_LIN当前行的内容TM_CURRENT_WORD光标下或空字符串下的单词内容TM_LINE_INDEX基于零指数的行数TM_LINE_NUMBER基于一个索引的行数TM_FILENAME当前文档的文件名TM_FILENAME_BASE没有扩展的当前文档的文件名TM_DIRECTORY当前文档的目录TM_FILEPATH当前文档的完整文件路径CLIPBOARD剪贴板的内容WORKSPACE_NAME打开的工作区或文件夹的名称WORKSPACE_FOLDER打开的工作区或文件夹的路径
有关时间的
CURRENT_YEAR本年度CURRENT_YEAR_SHORT今年最后两位数CURRENT_MONTH以两位数表示的月份(例如"02”)CURRENT_MONTH_NAME本月全名(例如"七月")CURRENT_MONTH_NAME_SHORT本月的简称(例如"七月")CURRENT_DATE每月的一天CURRENT_DAY_NAME日名称(例如"星期一")CURRENT_DAY_NAME_SHORT当天的简称(例如"星期一")CURRENT_HOUR24 小时时钟格式的当前小时CURRENT_MINUTE当前分钟CURRENT_SECOND当前秒CURRENT_SECONDS_UNIX自Unix epoch以来的秒数
有关注释的
BLOCK_COMMENT_STARTExample output: in PHP or in HTML/*<!--BLOCK_COMMENT_ENDExample output: in PHP or in HTML*/-->LINE_COMMENTExample output: in PHP//