主要是在網上找的方法都沒試成功過,在各類機緣巧合下終於成功了。html
這篇文章基於我的經驗,並且沒有走尋常路。git
軟件:github
爲了方便使用,將 llvm 安裝路徑中子文件夾 bin 加入 PATH 環境變量,或者配置插件的時候注意一下 clangd 的路徑json
VSCode 插件:工具
Clangd: Pathui
填寫clangd的絕對路徑,若是照上文修改了 PATH 變量(有用這個工具鏈的覺悟或者不怕麻煩)能夠保持不變。spa
因爲clangd的參數:插件
--compile-commands-dir=<string> - Specify a path to look for compile_commands.json. If path is invalid, clangd will look in the current directory and parent paths of each source file.rest
要麼是絕對路徑,要麼從工做目錄開始往上找 compile_commands.json,然而 CMake Tools 默認在項目目錄的 build 子目錄中進行 CMake 的配置,該文件也在子目錄中,這裏我選擇修改 CMake Tools 的配置,使得該文件拷貝到項目目錄中(應該也是工做目錄)code
CMake: Copy Compile Commands 填寫: ${workspaceFolder}/compile_commands.json
首先使用 CMake Tools 配置項目,生成 compile_commands.json
而後clangd下次啓動就應該能找到這個文件,提供語言功能
重啓一下腳本宿主(未驗證)或者重啓一下VSCode
按 Ctrl + Shift + P 而後輸入 restart 應該就能看到
最後,享受語言功能吧:
https://github.com/microsoft/vscode-cmake-tools/issues/654#issuecomment-592983916
原文出處:https://www.cnblogs.com/sinx/p/12410619.html