必须手动启用auto_add_to_new_file为true、配置supported_filetypes和default变量、重启sublime text并保存带后缀文件,才能让新建文件立刻生成作者头部;插件默认关闭自动插入,且仅对已有合法头部的文件做增量更新。

FileHeader 插件装完不会自动加作者信息,必须手动开启 auto_add_to_new_file、配对模板变量、重启编辑器才生效。
怎么让新建文件立刻生成作者头部?
关键不是“装了插件”,而是插件是否被激活。FileHeader 默认关闭自动插入,必须显式启用:
-
auto_add_to_new_file必须设为true,且写在Preferences → Package Settings → FileHeader → Settings - User里 - 不能写在
Settings - Default中(会被覆盖,升级后丢失) - 不能用
//或/* */注释掉这行配置 - 改完必须彻底退出 Sublime Text(macOS 尤其注意:仅关窗口 ≠ 退出进程),再重开
- 新建文件后要立刻保存为带后缀的文件(如
main.py),否则右下角显示Plain Text,插件直接跳过
为什么 .vue / .ts / .html 文件没反应?
FileHeader 默认只支持 .py、.js、.java 等少数后缀,新增类型需两步补全:
- 在
Settings - User中添加supported_filetypes,例如:"supported_filetypes": ["vue", "ts", "html"](注意是小写英文名,不是.vue) - 进
Preferences → Browse Packages → FileHeader → template → header,确认存在对应.tmpl文件:
• 没有vue.tmpl就复制javascript.tmpl改名
• 没有typescript.tmpl同理
•html.tmpl必须用<!-- -->包裹变量,不能用//或/* */
作者名、邮箱等变量为啥不显示?
这些值不会自动从系统读取,必须显式声明在 Settings - User 的 Default 对象里,且大小写严格匹配模板:
- 配置示例:
{"Default": {"author": "Zhang San", "email": "zhang@example.com"}} - 模板中必须用
{{author}}、{{email}}(双大括号,全小写);写成{{Author}}或${author}都会留空 -
{{create_time}}格式由date_format控制,例如:"date_format": "Y-m-d H:i:s" - 模板里未声明的变量(如
{{last_modified_by}})即使写了也不报错,但值为空
保存时能自动更新作者和时间吗?
可以,但只在已有合法头部的前提下触发——它不会帮你补全缺失的头部,只做增量更新:
- 插件默认监听
on_pre_save,检查前几行是否含常见注释标记(如# @Author、// @Author、<!-- @Author -->) - 若已存在匹配头部,才会更新
{{last_modified_by}}和{{last_modified_time}} - 如果项目要求强制统一头部结构,得先确保每个文件都有合法开头,否则这部分逻辑完全不执行
最易忽略的是:FileHeader 的“自动更新”功能不等于“自动补全”,它只修旧不建新;而真正可靠的自动化,往往得靠自定义 on_pre_save 插件来兜底——尤其是 CI 要求头部必须存在、日期必须是保存瞬间生成的场景。











