DocBlockr 在 Sublime Text 4 中无法使用,因其基于已淘汰的 Python 2;应安装社区维护的 docblockr-python3 分支,支持 JS/TS/Python 等语言,但不识别解构参数、箭头函数及复杂类型,需手动补全 @param 和 @returns。

DocBlockr 在 Sublime Text 4 里根本不能用
Sublime Text 4 已经移除了对 Python 2 插件的支持,而原版 DocBlockr 是基于 Python 2 写的,直接安装会失败或不响应。你按教程装完没反应,不是操作错,是插件本身已过期。
- 官方仓库
docblockr(作者 Nasci)早在 2019 年就停止维护,最后一次提交针对 ST3 - ST4 启动时会静默跳过不兼容插件,不会报错,但
/**回车后毫无反应 - 别试
Package Control: Install Package搜DocBlockr——装上也白装
替代方案:用 DocBlockr 的现代分支 docblockr-python3
社区有人把原插件迁移到 Python 3,并适配了 ST4 的 API,名字叫 docblockr-python3,目前是唯一能正常工作的继承者。
- 在
Package Control: Install Package里搜docblockr-python3(注意中间有短横,不是docblockr) - 装完重启 Sublime,打开一个
.js或.py文件,输入/**然后回车,应该立刻生成带参数占位符的注释块 - 它支持的语言默认包括:
javascript、typescript、python、php、java;其他语言需手动配置doc_block_language_map - 如果回车没反应,检查是否被其它插件干扰(比如
Emmet抢占了Tab或Enter快捷键)
自定义函数注释模板要改 settings 文件,不是改插件源码
很多人想改“作者”“@returns”格式,直接去插件目录改 .py 文件,结果下次更新就覆盖了,而且容易出语法错误。
- 正确做法:菜单栏
Preferences → Package Settings → docblockr-python3 → Settings - 在右侧用户设置里加字段,例如:
"jsdoc_indentation": 2,
"jsdoc_extra_tags": ["@since", "@example"]
-
template字段可完全重写,但注意变量用${name}格式,不是{{name}};漏掉${description}会导致光标卡住 - 改完保存,不用重启,但已有打开的文件需要重新触发(删掉注释重输
/**)
JS/TS 里解构参数或箭头函数,DocBlockr 不识别,得手动补
这是最常踩的坑:你写 const fn = ({ a, b }) => {} 或 function foo([x, y]),docblockr-python3 生成的 @param 仍然是空的,或者只写出 {}、[] 占位符,不会自动展开内部字段。
- 它依赖 AST 解析函数签名,但当前版本不处理解构、默认值、泛型等复杂 JS 语法
- 遇到
async函数、带重载的 TS 接口,同样无法推导参数类型,@param行得手填 - 别指望它生成
@returns {Promise<number>}</number>—— 返回类型必须自己写,插件只负责格式和缩进 - 如果项目重度使用 TS,建议搭配
ESLint+@typescript-eslint/explicit-function-return-type来兜底,而不是依赖注释生成









