fileheader插件需手动启用auto_add_to_new_file并重启sublime text才生效,且必须在settings-user中配置supported_filetypes、default变量及对应.tmpl模板,语法识别正确后新建带后缀文件方可自动插入头部注释。

FileHeader 插件装完默认不生成任何头部,必须手动开启 auto_add_to_new_file 并重启 Sublime Text 才能生效——这是 90% 用户新建文件没反应的根源。
怎么让新建文件自动插入头部?
关键不是“装了插件”,而是“插件是否被激活”。FileHeader 默认关闭自动插入,所有配置都得写在 Settings - User 里,且必须重启编辑器才加载。
- 打开
Preferences → Package Settings → FileHeader → Settings - User - 确保有且仅有一行未被注释的配置:
"auto_add_to_new_file": true - 删掉或注释掉
Settings - Default里的同名项(它会被User覆盖,但容易误判) - 改完必须彻底退出 Sublime Text(macOS 尤其注意:仅关闭窗口 ≠ 退出进程),再重开
为什么 .vue / .ts / .html 新建后没头部?
FileHeader 默认只对 .py、.js、.java 等少数后缀生效。想让其他类型也触发,得补全语言映射和模板文件。
- 在
Settings - User中添加"supported_filetypes": ["vue","ts","html"](注意:用小写英文名,不是.vue或vue.js) - 进
Preferences → Browse Packages… → FileHeader → template → header,确认存在对应.tmpl文件:
– 没有vue.tmpl就复制javascript.tmpl改名
– 没有html.tmpl必须用<!-- -->包裹变量,不能用//或/* */ - 模板内变量必须是双大括号语法,如
{{author}},拼写和Settings - User里Default对象完全一致(大小写敏感)
作者、邮箱等自定义变量为什么不显示?
这些值不会自动从系统读取,必须显式声明在 Settings - User 的 Default 对象中,且模板里要对应使用。
- 在
Settings - User中写入完整结构,例如:{ "Default": { "author": "Zhang San", "email": "zhang@example.com", "desc": "" } } - 检查模板文件(如
python.tmpl)是否包含{{author}}、{{email}}等占位符,不能写死字符串(如直接写@Author: Tom) - 新建文件后必须立刻保存为带后缀的文件(如
index.vue),否则右下角显示Plain Text,插件直接跳过
保存时自动更新 last_modified_by 和 time 失效怎么办?
这个功能依赖两个前提:文件已有合法头部 + 保存动作触发了插件监听。手敲的头部不被识别,也不会更新。
- 首次新建文件时,必须由 FileHeader 生成头部(不能手敲);否则后续保存不会识别和更新
- 确认
Settings - User中含"auto_update_last_modified_time": true(默认开启,但旧版本可能需显式声明) - 检查模板里是否写了
{{last_modified_by}}和{{last_modified_time}},缺一不可 - 如果用了自定义模板,确保注释符号匹配语言规范(如 Vue 的
<script></script>块要用//,HTML 用<!-- -->)
最容易被忽略的是:插件只在语法识别正确的源码视图下工作。新建文件后右下角若显示 Plain Text,哪怕你刚保存为 .ts,FileHeader 也完全不响应——必须先手动切换语法(Ctrl+Shift+P → Set Syntax: TypeScript),再保存,才能触发。











