FOUR WAYS TO UNDERSTAND CODE

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

預設從 Hybrid 開始,也可以依工程狀態自由選擇。

推薦

自動選擇,兼顧輕量與精確

同時維護 Tag 索引和可用的 Compiler 服務,依照每個檔案的編譯指令覆蓋情況,自動選擇適當的解析方式。

  • 按文件選擇
  • 無資料庫時使用 Tag
  • 語意能力按配置啟用
settings.json
{
  "hornet-cpp.mode": "hybrid"
}

開箱即可瀏覽;語意功能需要 clangd 與有效的編譯資料庫。

了解適用場景

選擇模式前,先看能力邊界。

輕量模式便於開始;完整語意分析需要真實編譯環境。

四種解析模式能力對比
能力 / 條件HybridFlyweightCompilerTag
沒有編譯資料庫也能瀏覽支持,回退 Tag支援需要資料庫支援
解析方式依檔案選 Tag / CompilerTree-sitter 語法樹clangd 語意分析詞法標籤
符號搜尋、導航、呼叫圖支援語法級語意級詞法級
精確重命名、程式碼操作有編譯命令的文件不提供依賴 clangd 支持不提供
編譯診斷 / 類型檢查有編譯命令的文件不提供支援不提供
額外工具語意功能需要 clangd無clangd + 編譯資料庫無
Tag / Flyweight 不執行預處理或類型檢查,同名符號可能會傳回多個候選。 Flyweight 的速度取決於文件​​與編輯方式,不保證在所有工程中都快於 Tag。

先瀏覽,再完善配置。

點選 VS Code 底部模式名稱,或執行 Switch Parsing Mode。

配置編譯資料庫

搜尋使用文件

輸入關鍵字查找文檔。

Esc 關閉 · Tab 選擇結果