FOUR WAYS TO UNDERSTAND CODE

你的工程,
有自己的解析方式。

默认从 Hybrid 开始,也可以按工程状态自由选择。

推荐

自动选择,兼顾轻量与精确

同时维护 Tag 索引和可用的 Compiler 服务,按每个文件的编译命令覆盖情况,自动选择合适的解析方式。

  • 按文件选择
  • 无数据库时使用 Tag
  • 语义能力按配置启用
settings.json
{
  "hornet-cpp.mode": "hybrid"
}

开箱即可浏览;语义功能需要 clangd 与有效的编译数据库。

了解适用场景

选择模式前,先看能力边界。

轻量模式便于开始;完整语义分析需要真实编译环境。

四种解析模式能力对比
能力 / 条件HybridFlyweightCompilerTag
没有编译数据库也能浏览支持,回退 Tag支持需要数据库支持
解析方式按文件选 Tag / CompilerTree-sitter 语法树clangd 语义分析词法标签
符号搜索、导航、调用图支持语法级语义级词法级
精确重命名、代码操作有编译命令的文件不提供依赖 clangd 支持不提供
编译诊断 / 类型检查有编译命令的文件不提供支持不提供
额外工具语义功能需要 clangdclangd + 编译数据库
Tag / Flyweight 不执行预处理或类型检查,同名符号可能返回多个候选。Flyweight 的速度取决于文件与编辑方式,不保证在所有工程中都快于 Tag。

先浏览,再完善配置。

点击 VS Code 底部模式名称,或执行 Switch Parsing Mode。

配置编译数据库

搜索使用文档

输入关键词查找文档。

Esc 关闭 · Tab 选择结果