Sublime Text 4 用户应弃用已停止维护的DocBlockr,改用DoxyDoxygen;它支持多语言、LSP集成,需注意Jinja2模板语法、键位冲突及配置适配。

DocBlockr 在 Sublime Text 4 上已停止维护,直接安装会失败或生成空注释;ST3 用户也需注意 Python 3.8+ 下 inspect.getargspec 被弃用导致崩溃。别硬装,先看版本和需求。
Sublime Text 4 用户:别装 DocBlockr,改用 DoxyDoxygen
官方仓库明确标为 “unmaintained”,ST4 的异步加载机制和新 API(如 view.substr(view.word(point)) 返回空字符串)会让它在解析函数签名时直接抛 AttributeError: 'NoneType' object has no attribute 'groups'。
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入Package Control: Install Package,搜DoxyDoxygen(注意拼写,不是DocBlockr) - 装完不用重启,但必须确认右下角语法模式是
JavaScript、Python等支持语言,不能是Plain Text - 触发方式不是敲
/**回车,而是把光标放在函数定义行(如def fetch_user(id: int) -> dict:),按Ctrl+Alt+D(Windows/Linux)或Cmd+Alt+D(macOS) - 若用
TypeScript或Babel插件,可能覆盖语法高亮——临时切回原生JavaScript模式再试
Sublime Text 3 用户:能用但限制极多
DocBlockr 在 ST3 上仍可工作,但只对特定写法有效,不是所有函数都能识别。
- 仅支持
function foo(a, b)这类function关键字声明,const foo = (a, b) => {}或解构参数function bar({ id })会漏字段甚至不触发 - 光标必须严格位于函数正上方的**空行**——该行不能有空格、制表符、注释,前面也不能有空行
- 输入
/**后必须立刻按Enter(不是Tab),否则不展开 - 中文 Windows 用户若见
@author显示方块,检查fallback_encoding是否设为"UTF-8"
自定义模板时变量语法必须重写
DoxyDoxygen 用 Jinja2,DocBlockr 用 ${1:description},二者完全不兼容。直接复制旧模板会导致字段消失或整行跳过。
- 去掉所有
$和序号:{description},不是${1:description} -
@param循环必须写成:{% for param in params %}@param {param.type} {param.name}{% endfor %} - 想让
@return在无返回值时也显示,得加判断:{% if return_type %}@return {return_type}{% endif %} - JS 解构参数(如
(options = { timeout: 5000 }))需开启配置项js_extract_destructured_params才能正确列出options.timeout
装不上?先查 Package Control 是不是活的
搜不到 DocBlockr 或 DoxyDoxygen,大概率不是插件没了,而是 Package Control 本身没装好或卡住。
- 命令面板里输
Package Control: Install Package—— 如果没这个选项,说明Package Control没初始化成功 - 按
Ctrl+`打开控制台,粘贴 packagecontrol.io/installation 页面上的最新 Python 安装脚本,回车执行 - 等它输出
Package Control initialized.再重启 Sublime - 搜索时输全小写
docblockr或doxydoxygen,首字母大写或拼错就匹配不到
真正卡住人的从来不是“怎么装”,而是装完没反应时不知道该盯语法模式、光标位置、ST 版本,还是模板语法。这几个点串起来,问题基本就定位了。











