fileheader插件需手动开启auto_add_to_new_file并重启sublime text才生效,且模板变量大小写敏感、语法错误会静默失效。

FileHeader 插件装完默认不生效,必须手动开启自动插入、配对语言模板、且配置写在 User 设置里才管用。
为什么新建文件没生成文件头?
因为 auto_add_to_new_file 默认是 false,插件不会主动触发。它不像编辑器内置功能那样“开箱即用”。
- 打开
Preferences → Package Settings → FileHeader → Settings - User - 确保有这行且未被注释:
"auto_add_to_new_file": true - 改完必须重启 Sublime Text,改
Settings - Default或只保存不重启都无效 - 如果只想对部分语言生效(比如只给
.py和.js加头),还要加"supported_filetypes"配置项
如何让 .html / .ts / .vue 文件也支持?
FileHeader 默认只认常见后缀(如 .py、.java),.html 等前端文件需手动补全映射或模板。
- 进
Preferences → Browse Packages… → FileHeader → template → header - 找对应文件:没有
html.tmpl就新建一个;没有typescript.tmpl就复制javascript.tmpl改名 - 模板里必须用
{{author}}、{{create_time}}这类变量,不能写死字符串 - 注意注释语法:HTML 要用
<!-- ... -->,Vue 单文件组件的<script></script>块要用//或/* */,否则解析失败
保存时自动更新 last_modified_by 和 time 怎么开?
这个功能是 FileHeader 自带的,但依赖两个前提:文件已有合法头部 + 保存动作触发了插件监听。
- 首次新建文件时,必须由 FileHeader 生成头部(不能手敲);否则后续保存不会识别和更新
- 检查
Settings - User里是否含"auto_update_last_modified_time": true(默认开启,但有些旧版本需显式声明) - 如果用了自定义模板,确认模板里写了
{{last_modified_by}}和{{last_modified_time}},缺一不可 - 某些项目中禁用了插件事件(比如通过
ignored_packages屏蔽了 FileHeader),会导致监听失效
团队统一文件头格式怎么落地?
靠每人手动改 Settings - User 不现实,容易漏配或格式不一致。
- 把完整配置写进项目根目录的
.sublime-project文件里,用settings+file_header_settings块包裹 - 模板文件(如
header/python.tmpl)放进项目config/fileheader/目录,再用"custom_template_header_path"指向它 - 禁止用户改
Settings - User,用Package Control: Disable Package临时禁用 FileHeader 可验证是否真走项目配置 - 特别注意:Windows 和 macOS 下路径分隔符不同(
\vs/),custom_template_header_path建议用正斜杠并测试跨平台行为
最容易被忽略的是:模板变量名大小写敏感({{Create_Time}} ≠ {{create_time}}),且一旦模板语法出错(比如多了一个 {),整个文件头就静默失效——不会报错,也不会插入任何内容。











