在VSCode中配置多平台的C/C++语言支持
这么多年的(插件)发展之后,实际上在VSCode中配置C/C++语言已经不是一件很困难的事情了,一般而言,所需要做的仅仅是安装C/C++
插件,理论上其会自动检测编译器并生成响应的配置文件。
当然这只是理论,一旦涉及到跨平台同步(例如自带的设置同步,或者共用一个文件夹)就麻烦起来了,因为Linux和Windows的设置并不通用。此外微软开发的C/C++
插件还存在一些问题,例如只会显示错误(Error)不会显示警告(Warning)等等,不过好在VSCode的众多插件提供了解决方案,其即能跨平台同步设置又补足了之前的缺点,同时在Windows和Linux下使用起来简单快捷。
前置环境配置
当然一切的前提是拥有一个C/C++编译器。对于Windows而言最简单的方法应该是使用MSYS2进行配置,详细参见这篇文章。
随后还需要安装clangd语言服务器协议以提供更好的语法检查。为了避免找不到路径的尴尬情况,不要使用VSCode的clangd
插件提供的一件安装服务
对于MSYS2包,可以在这个网站搜索
sudo pacman -Syu
sudo pacman -S gcc
sudo pacman -S gdb
sudo pacman -S clang
sudo apt update
sudo apt install gcc
sudo apt install gdb
sudo apt install clangd
# 确保你已经配置了MSYS2
pacman -Syu
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-clang-tools-extra
pacman -S mingw-w64-x86_64-gdb
VSCode中配置
安装以下插件:
C/C++ Extension Pack
C/C++ Compile Run
clangd
你也可以使用ctrl+p
快捷键呼出快速命令窗口使用以下命令安装:
ext install ms-vscode.cpptools-extension-pack
ext install danielpinto8zz6.c-cpp-compile-run
ext install llvm-vs-code-extensions.vscode-clangd
随后你应该能看到来自插件clangd
的提示,选择禁用来自微软C/C++
插件的语言服务。否则在语法补全或者查看变量/函数类型等等时会同时看到来自这两个插件的提示。
对于C/C++ Compile Run
插件理论上不需要进行任何配置,由于其编译依然是调用gcc
或者g++
进行编译,而前文对于Windows中MSYS2安装时已经配置好了环境变量。不过你也可以在额外设置一些编译的标识。
C/C++ Extension Pack
插件是用来对C/C++调试支持的,不能删掉(不止有语法高亮的功能)。
效果
当然这儿还额外使用了一个插件Error Lens
来将警告和错误直接显示在编辑器中。
至此,就已经配置好了有语法警告提示,能在多平台上开箱即用简单快捷的VSCode了!