已在 .ycm_extra_conf.py 的 flags 中加入 -I 指定專案標頭檔路徑,基本關鍵字能補全,但專案自訂的類別、函式卻無提示。
compile_commands.json(由 CMake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 或 Bear 生成)。此檔案記錄每個原始檔的完整編譯參數,包含所有 include 路徑、巨集定義、C++ 標準版本等。FlagsForFile 回傳的 flags 完整涵蓋專案所有 -I、-D、-std=c++17 等參數。可參考 YCM 官方範例模板。#include 關係推導補全。確認標頭檔有被對應的 .cpp 包含,且該 .cpp 出現在編譯資料庫中。.git、.hg、compile_commands.json 等標記判斷專案根目錄。若專案結構特殊,可在 .ycm_extra_conf.py 中實作 ProjectDirectory 方法。.cpp,輸入 :YcmDebugInfo 查看偵測到的編譯旗標與 include 路徑。compile_commands.json 或 .ycm_extra_conf.py 邏輯。:YcmCompleter GoToDefinition 測試能否跳轉至自訂函式定義。flags 加 -I/path/to/include 但缺少 -std=c++14 等導致解析失敗。.ycm_extra_conf.py 卻未載入專案專屬設定。建立完整的編譯資料庫,是 YCM 精準補全自訂程式碼的基石。投入時間配置一次,長期受惠無窮。