FileHeader 是 Sublime Text 最稳定的自动版权声明插件,但需手动开启 auto_add_to_new_file、正确配置 supported_filetypes 和变量模板,并在设置语法后首次保存才生效。

Sublime Text 本身不提供开箱即用的自动版权声明功能,必须依赖插件或自定义逻辑;FileHeader 是目前最稳定、配置粒度最细的选择,但默认关闭自动插入,且模板变量大小写敏感、配置位置错误或未重启都会导致“看似装了却没反应”。
FileHeader 的 auto_add_to_new_file 必须显式开启并重启
插件安装完不会自动生效,关键开关 auto_add_to_new_file 默认是 false。不改它,新建任何文件都不会生成头部。
- 打开
Preferences → Package Settings → FileHeader → Settings - User - 确保有这一行且**未被注释**:
"auto_add_to_new_file": true - 改完必须**完全退出并重启 Sublime Text**——仅保存设置或重载窗口无效
- 如果只希望对部分语言生效,顺带配好
supported_filetypes,比如:["python", "javascript", "cpp"](注意:用小写英文名,不是.py或js)
作者名、日期等动态内容必须用变量,不能硬编码进模板
模板里写死 @Author: Zhang San 看似省事,实则无法随项目切换,也绕不开团队协作时的统一管理。正确做法是分离「数据源」和「展示逻辑」。
- 作者名统一在 Settings - User 里配:
"author": "李四",而不是去改C++.tmpl文件 - 日期格式由
date_format控制,例如:"date_format": "Y-m-d H:i:s"(H是 24 小时制,i是分钟,s是秒;写成h:i:s会出 12 小时制) - 模板中对应位置写
{{author}}和{{create_time}},注意是双大括号,不是${author}或{{Author}}(大小写敏感) -
{{file_name}}和{{file_path}}在文件未保存前返回空字符串,别拿它们做条件判断或拼接路径
未识别 syntax 是新建文件不触发的最常见原因
FileHeader 只在已知 language scope 下工作。新建空白文件时右下角显示 Plain Text,插件直接跳过,哪怕你配了 auto_add_to_new_file: true 也没用。
- 新建文件后,先按
Ctrl + Shift + P,输入sspython(或其他语言关键词),选中对应语法模式 - 或者手动点击右下角
Plain Text,从列表中选Python、JavaScript等 - 确认语法生效后再保存——首次保存才是插件真正注入头部的时机
- 如果快捷键
Ctrl+Alt+T没反应,先检查当前是否处于合法 source view(比如 Markdown 或 Console 里无效)
团队项目要用 project_settings 覆盖个人配置
靠个人 Settings - User 无法保证多人协作时头部格式一致,尤其涉及版权归属、保密声明等强约束字段。
- 菜单栏
Project → Edit Project,在settings块内加file_header配置 - 强制指定
"author": ""(留空会报错)可防止成员漏填 - 用
"description_format": "@desc {{description}}"约束描述写法,避免有人写// desc:、有人写/* description: */ - 自定义后缀如
.astro或.vue需手动加到supported_filetypes,否则插件不认
最容易被忽略的是:FileHeader 的模板解析发生在「文件首次保存时」,不是新建瞬间;而且它只校验已有头部是否合规,不会覆盖你手写的非法头部——这意味着第一次没走插件流程,后续就永远补不上。务必让每个新文件都从「正确 syntax + 第一次保存」这个起点开始。

















