必须换用doxydoxygen——它是当前唯一稳定支持js/ts/react/vue等现代前端语法的注释生成插件,因docblockr不兼容st4新api,存在视图api调用失败、python 3.8+弃用函数解析异常及lsp语义信息缺失等问题。

Sublime Text 4 上直接装 DocBlockr 已不可用,它不兼容新 API,按 Ctrl+Shift+D 没反应、/** 回车后报 AttributeError: 'NoneType' object has no attribute 'groups' 是典型失败信号。必须换用 DoxyDoxygen —— 它是当前唯一稳定支持 JS/TS/React/Vue 等现代前端语法的注释生成插件。
为什么 DocBlockr 在 ST4 里根本跑不起来
ST4 底层重构了视图 API 和插件加载机制,而 DocBlockr 还在用旧版 view.word(point) 做参数提取,结果返回空字符串,后续正则直接崩;它依赖的 inspect.getargspec 在 Python 3.8+ 中已被弃用,连基础函数签名都解析不了;更麻烦的是,它没适配 LSP 提供的语义信息,对 TypeScript 解构参数(如 { id, name }: User)、可选链(obj?.data)或 JSX 函数组件完全无识别能力。
DoxyDoxygen 安装与基础触发方式
打开命令面板 Ctrl+Shift+P → 输入 Package Control: Install Package → 搜索并安装 DoxyDoxygen。装完不用重启,但需确认文件语法类型正确:右下角必须显示 JavaScript、TypeScript 或 Vue Component,不是 Plain Text。
- 光标放在函数定义行(例如
function handleSubmit(data: FormValues): Promise<void></void>),按Ctrl+Alt+D(Windows/Linux)或Cmd+Alt+D(macOS) - 也可在函数上方输入
/**后回车,但前提是doxy_doxygen_comment_trigger配置为"/**" - 若快捷键冲突(比如被 ESLint 插件占用了),可在
Preferences → Package Settings → DoxyDoxygen → Key Bindings中自定义
前端场景下的关键配置项
默认模板对 React Hook 组件、TS 类型别名、解构参数支持有限,必须手动调整设置:
- 启用
js_extract_destructured_params:否则({ theme, locale } = defaultProps)会被当成单个参数arg0 - 设置
ts_use_type_info为true:才能从 TS 类型中提取FormValues的字段,生成@param {string} data.email这类嵌套描述 - Vue 单文件组件需开启
vue_extract_script_setup,否则defineProps里的参数无法识别 - 模板里写
{% if return_type %}@return {return_type}{% endif %},避免无返回值函数仍强行输出@return undefined
自定义模板时最容易漏掉的语法坑
DoxyDoxygen 用 Jinja2 语法,不是 DocBlockr 的 ${1:description} 格式:
-
@param {param.type} {param.name} {param.desc}—— 不加$、不带序号 - 循环必须写全
{% for param in params %}...{% endfor %},不能简写成{params} - JSX 函数组件名含
const MyComponent = () => {},默认识别为MyComponent,但若想显示为React.FC类型,得在模板里加{% if func.is_function_component %}React.FC{% endif %} - 所有变量名必须小写,比如
{func_name}有效,{FuncName}直接渲染为空
模板改完记得保存,且每次修改后要手动触发一次 Ctrl+Alt+D 才会生效——它不会热重载。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











