VSCode代码片段支持多种内置变量提升开发效率:$CURRENT_YEAR等插入当前时间,$TM_FILENAME获取文件名,$LINE_NUMBER获取行号,${1:default}实现Tab跳转,结合转换语法可动态生成上下文相关代码。

VSCode 的代码片段(Snippets)支持多种内置变量,可以在编写自定义 snippet 时动态插入内容。这些变量能提升开发效率,让生成的代码更贴合当前上下文。
TIMESTAMP 和日期相关变量
用于插入当前时间或日期:
- $CURRENT_YEAR:当前年份(如 2024)
- $CURRENT_MONTH:当前月份(01–12)
- $CURRENT_DATE:当前日期(01–31)
- $CURRENT_HOUR:小时(00–23)
- $CURRENT_MINUTE:分钟(00–59)
- $CURRENT_SECOND:秒(00–59)
- $CURRENT_DAY_NAME:星期几(如 Monday)
- $CURRENT_MONTH_NAME:月份名称(如 January)
编辑器上下文变量
获取当前文件或编辑器状态信息:
- $TM_FILENAME:当前文件名(含扩展名)
- $TM_FILENAME_BASE:文件名不含扩展名
- $TM_DIRECTORY:文件所在目录的完整路径
- $TM_FILEPATH:文件的完整路径
- $RELATIVE_FILEPATH:相对于工作区的路径
- $WORKSPACE_FOLDER:当前工作区根路径
- $LINE_NUMBER:光标所在行号(从1开始)
- $LINE_INDEX:光标所在列号(从0开始)
- $SELECTION:当前选中的文本,未选中则为空
- $CLIPBOARD:系统剪贴板内容
特殊占位符和逻辑变量
配合 Tab 键跳转和默认值使用:
- ${1:default}:Tab 停留点,1 是顺序,default 是默认值
- ${0}:最终光标位置(通常放在末尾)
- ${BLOCK_COMMENT_START}:语言对应的块注释开始符号(如 /*)
- ${BLOCK_COMMENT_END}:块注释结束符号(如 */)
- ${LINE_COMMENT}:行注释前缀(如 //)
变量还可结合转换语法进行格式化,例如:
${TM_FILENAME/(.*)..+/$1/} 可提取文件名主干。
基本上就这些常用变量,合理使用能让代码片段更智能。


