fileheader插件需手动开启auto_add_to_new_file并配置supported_filetypes、.tmpl模板、default变量及auto_update_last_modified_time才能生效,四者缺一即静默失效。

FileHeader 插件必须手动开启 auto_add_to_new_file 才生效
装完插件后新建文件没反应,不是插件坏了,是默认关着的。它不靠“新建动作”触发,只认配置项 auto_add_to_new_file 的布尔值。
- 打开
Preferences → Package Settings → FileHeader → Settings - User - 确保有且仅有一行未被注释的配置:
"auto_add_to_new_file": true - 别写在
Settings - Default里——会被覆盖,升级后丢失 - 别用
//或/* */注释掉这行,否则等于没写 - 改完必须彻底退出 Sublime Text(macOS 尤其注意:关闭窗口 ≠ 退出进程),再重开
为什么 .vue / .ts / .html 新建没头?缺 supported_filetypes 和 .tmpl 文件
FileHeader 默认只对 .py、.js、.java 等少数后缀生效。想支持 .vue、.ts、.html,得补全两处:
- 在
Settings - User中添加:"supported_filetypes": ["vue", "ts", "html"](注意:用小写英文名,不是.vue或vue.js) - 进
Preferences → Browse Packages… → FileHeader → template → header,确认存在对应.tmpl文件:
– 没有vue.tmpl就复制javascript.tmpl改名
– 没有typescript.tmpl同理
–html.tmpl必须用<!-- -->包裹变量,不能用//或/* */
{{author}} 渲染为空?大小写敏感 + 必须声明在 Default 对象里
模板里写 {{author}} 却显示空白,大概率是变量没正确定义或拼写不一致。
- 作者名、邮箱等必须显式声明在
Settings - User的Default对象中:"Default": {"author": "张三", "email": "zhang@team.com"} - 模板中变量名必须完全匹配:
{{author}}≠{{Author}}≠${author} -
date_format控制时间格式,例如:"date_format": "Y-m-d H:i:s"(H是 24 小时制,i是分钟) - 未声明的变量(如
{{last_modified_by}})即使写了也不会报错,但值为空
保存时自动更新 last_modified_time 为什么没反应?前提很严格
这个功能不是“只要保存就更新”,它依赖两个硬性条件:
- 文件必须已有合法头部——首次必须由 FileHeader 生成(不能手敲),否则后续保存不会识别
- 确认
Settings - User含"auto_update_last_modified_time": true(新版默认开启,但旧版本需显式声明) - 自定义模板里必须包含
{{last_modified_by}}和{{last_modified_time}},缺一不可 - 未保存的临时文件中,
${file_name}和${file_path}返回空字符串,别拿它们做判断逻辑
真正卡住人的从来不是插件装没装,而是 auto_add_to_new_file 开关是否真开了、语法是否被识别为源码(右下角不能是 Plain Text)、.tmpl 文件是否存在、以及 {{author}} 这种变量有没有在 Default 里声明——四者缺一,就静默失效。











