真正支持c/c++函数参数自动提取的插件只有ms-vscode的doxygen documentation generator,需重启vs code、光标紧贴函数声明正上方、配合korofileheader处理文件头,且配置必须显式指定模板和更新规则。

能直接用,但得选对插件、配对配置、避开常见失效点——否则快捷键按了没反应,或者生成的 @param 和函数参数名对不上。
装哪个插件才真正支持 C/C++ 函数参数自动提取
只认作者是 ms-vscode 的 Doxygen Documentation Generator。VS Code 插件市场里搜 “Doxygen” 会出现多个同名插件,其他版本基本靠硬编码写 @param param1,根本不会读你函数声明里的 int x, char* buf。装错后生成的注释看着整齐,但 doxygen 工具解析时直接跳过整块注释,等于白写。
- 安装后必须重启 VS Code,否则
Ctrl+Win+T(Windows)或Cmd+Option+T(macOS)无响应——不是快捷键冲突,是插件服务没加载 - 光标必须紧贴函数声明正上方,中间不能有空行;否则插件无法识别上下文,生成结果为空或错误
- 文件头注释和函数注释模板要分开配置,
Doxygen Documentation Generator不处理文件头,得另配插件(比如koroFileHeader)
koroFileHeader 的快捷键和配置关键项
koroFileHeader 负责文件头和光标处函数注释,但默认配置容易踩坑:比如 "autoAdd": true 会导致新建文件就自动塞注释,干扰模板文件或脚本开头;又比如 "Date" 和 "LastEditTime" 都设成 "Do not edit",结果保存时时间不更新。
- 文件头快捷键:
Ctrl+Alt+I(Windows)、Ctrl+Cmd+I(macOS) - 函数注释快捷键:
Ctrl+Alt+T(Windows)、Ctrl+Cmd+T(macOS) - 必须在
setting.json里显式配置"fileheader.customMade"和"fileheader.cursorMode",否则用的是插件内置默认模板,字段名(如@Author)和格式可能不符合团队规范 -
"fileheader.configObj"中的"writeFile": true控制保存时是否自动更新LastEditors和LastEditTime,关掉就不起作用
DocumentThis 适合 JS/TS,但触发方式很具体
DocumentThis 对 JavaScript 和 TypeScript 支持最稳,但触发依赖符号位置和输入动作,不是所有光标位置都有效。
- 必须把光标放在函数、类或变量**正上方一行**,然后输入
/**再按Tab或Enter - 右键菜单调用或命令面板输入
Document This也能触发,但不如/** + Tab直观可靠 - 它会尝试推断参数类型和返回值,但遇到复杂类型(如泛型、联合类型)可能漏判或写错,需要人工核对
@param和@returns - 不支持 C/C++ 函数签名解析,强行用会把整个函数体当字符串处理,生成的注释完全不可信
真正麻烦的不是装插件,而是不同语言、不同注释用途(文件头 / 函数 / Doxygen 输出)得混搭至少两个插件,且每个插件的配置项、触发条件、失效边界都不一样——比如 koroFileHeader 的 cursorMode 不管你光标在函数体内还是函数名上,只要在“函数作用域内”就敢生成注释,而 Doxygen Documentation Generator 必须卡在声明正上方。稍不注意,就生成了一堆废注释。











