在 macOS 的 VS Code 中,通过配置语言专属代码片段并正确使用内置变量(如 $CURRENT_YEAR、${TM_FILENAME_BASE}、${env:USER}),可实现新建 Python 文件时自动插入含实时时间戳(2026-07-30)和文件名的标准化注释;启用 "isFileTemplate": true 并确保 "scope": "python",保存为 .py 文件即触发,且需重启窗口或执行 Developer: Reload Window 以刷新变量。
在 macos 的 vs code 中实现时间戳或文件名自动注入,关键不是写个静态模板,而是用好内置变量 + 正确触发方式。系统当前是 2026 年 7 月 30 日,所有时间变量(如 $current_year)会实时反映这个日期,无需手动填写。
配置语言专属代码片段(推荐)
不同语言注释语法不同,应为每种语言单独配置,避免注释符号错乱:
- 按
Cmd + Shift + P,输入 Configure User Snippets,选择目标语言(如python.json或javascript.json) - 填入如下结构(以 Python 为例,支持
#行注释):
"File Header with Timestamp": {
"scope": "python",
"prefix": "hdr",
"body": [
"# File: ${TM_FILENAME_BASE}",
"# Created: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
"# Author: ${env:USER}",
"",
"$0"
],
"description": "Python 文件头注释(含时间与用户名)"
}
}
${TM_FILENAME_BASE} 取纯文件名(不含 .py),${env:USER} 读取 macOS 当前登录用户名(比 $USER 更稳定),$0 让光标停在空行便于继续编码。
让模板真正“自动插入”新文件
如果只是输 hdr 再按 Tab,仍需手动触发;要新建文件即自动生成,请启用文件模板模式:
- 把上面 JSON 中的
"isFileTemplate": true加入字段(放在"body"同级) - 确保
"scope": "python"明确声明,否则新建.py文件时不会激活 - 保存后,用
Cmd + N新建空白文件 →Cmd + Shift + P→ 输入 Change Language Mode → 设为Python→ 然后按Cmd + K Cmd + I(Insert Snippet)选该模板,或直接保存为xxx.py即可触发
跨语言通用写法(用块注释变量)
若想一套模板适配 JavaScript、Go、TypeScript 等支持 /* */ 的语言:
- 在
javascript.json或全局snippets.json中使用$BLOCK_COMMENT_START和$BLOCK_COMMENT_END - 示例 body 片段:
" File: ${TM_FILENAME_BASE}",
" Created: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
"$BLOCK_COMMENT_END",
"$0"]
VS Code 会根据当前语言自动替换成 /* ... */、<!-- ... --> 或 {- ... -} 等对应格式,不用重复维护多份。
排查常见问题
时间没更新?文件名显示为空?插入位置不对?检查这三点:
- 变量拼写必须准确:
$CURRENT_YEAR(不是$YEAR),${TM_FILENAME_BASE}(不是$TM_FILENAME) - 重启 VS Code 或执行 Developer: Reload Window,避免变量缓存(尤其长时间未重启时)
- 确认文件已设对语言模式(左下角状态栏显示
Python或JavaScript),且片段中"scope"与之匹配


















