docblockr没反应主因是语法模式错误、光标位置不准或st4不兼容;需确保右下角显示javascript等支持语言,光标在函数定义行任意位置,敲/**后回车,st4用户必须改用docblockr-alt。

装了 DocBlockr 却没反应,不是插件坏了,而是触发条件没满足——90% 的失败都卡在语法模式、光标位置或 ST4 兼容性这三点上。
怎么确认 DocBlockr 真正生效了
它不靠“安装完成”就自动工作,必须同时满足:当前文件被 Sublime 识别为支持语言(如 JavaScript 而非 Plain Text),光标位于函数/类定义行的任意位置(不是空行、不是函数体内),且敲的是 /** 后直接回车。
- 右下角状态栏显示
Plain Text?点它手动切到JavaScript或对应语言 - 写的是
const fn = (a, b) => {}?原版 DocBlockr 不解析箭头函数,得改成function fn(a, b) {}或换用DocBlockr-Alt - 按了
/**没反应?别急着重装,先检查上面两个点
为什么 /** 回车后 @param 是空的
DocBlockr 不推断类型,只提取参数名。它看到 function getUser(id, options) 就生成两行 @param {any} id 和 @param {any} options,花括号里的 {any} 是占位符,不是自动识别结果。
- 类型得你手动补,比如改成
@param {string} id - JS 中写
/** @type {number} */这类内联注释,DocBlockr 也不会读取——它只看函数签名文本结构 - 解构参数
({ a, b })或默认值(a = 1)会导致参数名错乱,建议生成后人工校对
Sublime Text 4 用户必须装 DocBlockr-Alt
原版 DocBlockr 在 ST4 上会报 AttributeError: 'NoneType' object has no attribute 'groups',这是 API 变更导致的硬兼容问题,不是配置错误。
- 卸载原版
DocBlockr(Preferences → Package Settings → Package Control → Remove Package) - 再用 Package Control 安装
DocBlockr-Alt,它专为 ST4 维护,支持最新语法高亮和作用域匹配 - 装完不用重启,但建议关掉所有文件重开一次,避免旧缓存干扰
自定义作者、日期等字段不生效的真正原因
很多人改了 Preferences → Package Settings → DocBlockr → Settings – User 却没效果,是因为写错了配置项名或格式。
- 正确字段是
"jsdocs_extra_tags"(不是jsdoc_extra_tags或extra_tags) - 值必须是数组,例如:
"jsdocs_extra_tags": ["@author MyName", "@since 2026"] - 配置里不能有 trailing comma,JSON 语法错误会让整个设置失效
- 改完保存,然后在函数上方重新敲
/**回车,旧注释块不会自动更新
最常被忽略的是:它不处理已存在的注释块,也不监听函数修改——每次都要重新触发 /** 才能生成新模板。想省事,就别依赖自动识别,把光标放对、敲对符号、选对分支,比调参数快得多。











