fileheader插件默认不自动注入头部注释,必须在settings-user中显式设置"auto_add_to_new_file": true并彻底重启sublime text,且需正确配置supported_filetypes、对应.tmpl模板、大小写敏感的变量(如{{author}})及语法识别,否则新建文件无反应。

FileHeader 默认不自动注入,必须显式开启
装完插件就以为能自动加版权头?错。FileHeader 默认关闭所有自动行为,auto_add_to_new_file 在 Settings - Default 里是 false,且不会被继承。你得手动改 Settings - User:
- 打开
Preferences → Package Settings → FileHeader → Settings - User - 写入唯一一行:
"auto_add_to_new_file": true(不能注释、不能拼错、不能加逗号) - 彻底退出 Sublime Text(macOS 尤其要 Activity Monitor 里杀掉进程),再重开
没重启,配置不加载;重启前没删 Default 里的同名项,User 配置可能被静默忽略。
新建文件没反应?语言识别失败是主因
Sublime 不是靠文件后缀判断语言,而是靠当前视图的 syntax mode。新建空文件(Ctrl+N)默认是 Plain text,插件直接跳过——哪怕你立刻保存为 main.py,只要保存前没手动设语法,就不会触发。
- 新建后,先按
Ctrl+Shift+P→ 输入Set Syntax: Python,右下角显示Python再保存 - 或保存时务必带后缀(
main.py而非main),否则仍当Plain text - 检查
Preferences → Browse Packages → FileHeader/template/header/下是否有python.tmpl,没有则插件无模板可渲染
自定义变量(如 author)不生效,90% 是大小写或位置错
{{author}} 显示为空?不是插件坏了,是你没在正确位置声明它。
- 变量必须写在 Settings - User 的
Default对象里,格式严格:{"Default": {"author": "Your Name"}} -
author必须小写,和模板里{{author}}完全一致;写成Author或AUTHOR就留空 - 模板路径必须匹配:Python 文件走
python.tmpl,不是Python.tmpl或py.tmpl -
supported_filetypes若新增vue,Settings - User 里要加"supported_filetypes": ["vue"],且目录下要有vue.tmpl
保存时更新 last_modified_time 失效,别怪插件
FileHeader 的「保存更新」只对已有合法头部的文件生效。它不做补全,只做增量替换——如果文件开头三行没匹配到 # @Author: 或 /** 这类标记,它连看都不看。
- 想实现「没头就加、有头就更新」,得自己写
on_pre_save插件,用正则校验开头几行 -
{{last_modified_time}}依赖模板里已存在的字段;若模板写的是LastModified:,但正则默认匹配Last Modified:,就永远不更新 - 日期必须用
datetime.now().strftime("%Y-%m-%d")动态算,${date}是 snippet 变量,插入后就固化了
所有配置项(变量名、文件后缀、language ID、JSON 键名)全部区分大小写,且 JSON 必须合法——少一个引号或逗号,整个配置静默失效。











