Atom无原生文件头自动插入功能,唯一稳定方案是docblockr手动触发:在Settings→Packages→docblockr中配置Template(如/* @file {{filename}} @author {{author}} @date {{date}} /),作者名取自Core→Author Name,新建文件后光标置首行,按Ctrl+Shift+P输入“Docblockr: Insert file header”执行。

Atom 没有原生支持文件头注释自动插入的功能,所有「新建文件即带作者、时间、版本」的需求,都得靠插件补足;但目前唯一能稳定工作的方案只有 docblockr 手动触发文件头——因为 atom-file-header 已停更多年,无法兼容 Atom 1.60+(当前主流版本),强行安装会报 Cannot find module 'fs-plus' 或直接不加载。
docblockr 怎么插入文件级头部注释
它默认只处理函数/类注释(/** → Tab),但支持通过命令手动插入文件头,且模板可自定义:
- Settings → Packages →
docblockr→ Settings → 在Template输入框中粘贴(必须以/**开头,结尾用*/):/** * @file {{filename}} * @author {{author}} * @date {{date}} * @version 1.0.0 */ -
{{author}}值取自 Atom 全局设置:Settings → Core →Author Name(不是 Git 配置) - 新建文件后,把光标移到第一行,按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux),输入Docblockr: Insert file header回车 - 不能设成“保存自动触发”,
docblockr没提供该钩子;想接近自动化,得配合script插件写一键命令
为什么 atom-file-header 不行了
根本原因不是你配置错,而是插件本身已失效:
-
atom-file-header最后更新是 2018 年,依赖已被移除的 Atom API(如atom.project.onDidChangePaths),新版 Atom 直接跳过加载 - 社区里流传的 fork 版(如
atom-file-header-plus)多数未适配 Electron 25+ 和 Node.js 20 运行时,启动即报Cannot find module 'fs-plus' - 搜索 “file-header atom” 返回的推荐插件,90% 是旧文档搬运,实际链接已 404 或指向 GitHub archive 页面
- 即使侥幸装上,
${date}变量也只在首次插入时求值,后续保存不会刷新——这点常被忽略
.vue / .ts 文件怎么让 docblockr 生效
docblockr 对非默认语言默认不响应快捷键,因为它的 scope 判断严格:
- 确认右下角状态栏显示的是
source.vue或source.ts,不是text.html.vue——后者会被当 HTML 处理,直接跳过 - 若显示错误,需手动设置语法:右键编辑区 →
Grammar→Vue Component(或TypeScript) - 模板中注释符号必须匹配语言:
.vue的<script></script>块用/** */,docblockr只生成这种风格,所以仅对 JS/TS/Vue script 块有效 -
.vue的<template></template>区域不支持——docblockr不处理 HTML 风格注释(<!-- -->)
容易被忽略的关键点
真正影响落地效果的,往往不是“会不会”,而是几个硬性约束没对齐:
-
{{author}}和{{date}}是静态替换,不是实时计算;改了全局Author Name后,旧文件头不会自动更新 - 变量名必须严格用
{{xxx}}(docblockr)或(某些旧版配置),混用或手误写成${xxx}就原样输出 - 快捷键
Docblockr: Insert file header不绑定默认键位,每次都要呼出命令面板——如果嫌麻烦,得自己在keymap.cson里加一条 - 没有“项目级统一模板”机制:每个语言(JS/TS/Python)要单独配
Template,且 Python 模板必须顶格写#,否则缩进错位

















