推薦插件:git
其餘好用的插件:github
目前我在msys2上和用msvc編譯出來的都有問題,啓動後一寫代碼就會crash🙃json
在MSYS2上安裝gcc等:windows
pacman -S --needed mingw-w64-x86_64-{gcc,gdb,make,binutils}
惋惜的是並無ccls的軟件包,若是想在windows上用,須要本身在MSYS2上編譯:api
pacman -S --needed mingw-w64-x86_64-{clang,clang-tools-extra,polly,cmake,jq,ninja,ncurses,rapidjson} # 而後下載ccls源碼並編譯 cd ccls cmake -H. -BRelease -G Ninja -DCMAKE_CXX_FLAGS=-D__STDC_FORMAT_MACROS ninja -C Release
出現錯誤:bash
ninja: error: '/mingw64/lib/libz3.dll.a', needed by 'ccls.exe', missing and no known rule to make it
解決辦法:
打開./Release/build.ninja
,搜索/mingw64/lib/libz3.dll.a
,會找到兩個,都改爲絕對路徑(好比我這裏分別改爲D$:/msys64/mingw64/lib/libz3.dll.a
和D:/msys64/mingw64/lib/libz3.dll.a
),以後再:ui
ninja -C Release
等幾分鐘編譯完成後,把./Release/ccls.exe
複製到一個在PATH裏的目錄就行。插件
在Manjaro上就很方便了debug
sudo pacman -S --needed gcc clang ccls
這裏只介紹一小小小小小部分code
給個例子,在工做區設置中添加:
"ccls.clang.extraArgs": [ "-Iinc", "-Ipath/to/headers", ],
保存,而後就會提示你重啓ccls,若是沒提示,那就Ctrl+Shift+P
,輸入ccls: Restart language server
來重啓ccls。這樣ccls就將inc
和path/to/headers
這兩個文件夾做爲頭文件目錄了。
其餘推薦設置:
"ccls.completion.detailedLabel": true, "ccls.completion.enableSnippetInsertion": true, "ccls.codeLens.enabled": false,
若是是使用make管理代碼,須要使用bear:
sudo pacman -S --needed bear
cmake等等,詳見ccls的wiki
# 清理之前的目標文件 make clean # 生成 compile_commands.json bear make
而後重啓ccls,就會自動索引
ccls沒有提供debug支持而ms-vscode.cpptools有,可是ms-vscode.cpptools的代碼補全等功能與ccls重複(並且很laji),因此須要把ms-vscode.cpptools的這些功能禁用,添加以下設置:
"C_Cpp.autocomplete": "Disabled", "C_Cpp.errorSquiggles": "Disabled", "C_Cpp.intelliSenseEngine": "Disabled",
settings.json