VSCode + clang + clangd/ccls 搭建 C/C++ 开发环境

推荐插件:

  • C/C++(建议关闭补全和错误提示功能,因为实在是太烂了)
  • ccls
  • clangd
  • Code Runner
  • Cmake
  • CMake Tools

其他好用的插件:

  • GNU Assembler Language Support
  • Bracket Pair Colorizer 2
  • Visual Studio Blue Theme
  • Color Highligh
  • Markdown All in one
  • One Dark Pro
  • Git History
  • Remote - WSL
  • LinkerScript

ccls和clangd都是language server,这两个中选择一个即可,觉得哪个好用就用哪个。

安装 clang 以及 ccls 或 clangd

windows

使用MSYS2安装软件。安装工具链:

pacman -S --needed mingw-w64-x86_64-{binutils,gcc,gdb,make,clang}

安装clangd:

pacman -S --needed mingw-w64-x86_64-clang-tools-extra

可惜的是并没有ccls的软件包,如果想在windows上用,需要自己在MSYS2上编译:

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

我没编译过,,,逃

Manjaro

sudo pacman -S --needed gcc clang
sudo pacman -S --needed ccls

插件配置以及 Project Setup

这里只介绍一小小小小小部分

clangd

在工作目录下创建文件compile_flags.txt,添加编译选项:

-Iinc
-Ipath/to/headers

clangd会将incpath/to/headers这两个文件夹作为头文件目录

其余的很强大的功能我就不介绍了,详见clangd的文档

ccls

在工作目录下创建文件.ccls,添加编译选项:

-Iinc
-Ipath/to/headers

ccls就会将incpath/to/headers这两个文件夹作为头文件目录

其余的很强大的功能我就不介绍了,详见ccls的wiki

C/C++

ccls和clangd都没有提供debug支持,但是vscode-cpptools的代码跳转等功能与ccls和clangd重复,所以需要把vscode-cpptools的这些功能禁用,添加如下设置:

"C_Cpp.autocomplete": "Disabled",
"C_Cpp.formatting": "Disabled",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.intelliSenseEngine": "Disabled",

其他

看文档,看文档,看文档

相关推荐