参考vscode 官方文档

插件安装列表

  • C/C++
  • C/C++ Extension Pack
  • Clang-Format
  • CMake
  • CMake Tools
  • Remote - SSH
  • Remote - SSH: Editing Configuration Files
  • Remote Explorer

编辑代码

远程编辑

参考:vscode环境搭建 - SSH、Google Test 和 CMake

格式化代码

找到Clang-Format插件设置,将其中如下选项设置为Google

  • Clang-format: Fallback Style
  • Clang-format › Language › C: Style
  • Clang-format › Language › Cpp: Style
  • Clang-format: Style

在设置中搜索Format On Save,打上勾

构建工程

CMake

点击 vscode 底部状态栏,选择编译器

选择一个比较新版本的编译器

之后 CMake 会自动运行

点击下面的[all]可以选择生成项目中某个可执行文件,默认生成所有;点击生成可以开始编译

.vscode中的文件

创建配置文件

找到 vscode 边栏的运行和调试按钮,点击其中的创建 launch.json 文件

打开生成的launch.json,编辑框右下角会出现添加配置按钮,点击它,会自动填充一个默认配置

修改如下路径,则可以使用 F5 键开始运行

从 vscode 菜单 - 终端 - 配置默认生成任务,选择“CMake: 生成”

修改tasks.json,并在launch.json中关于该可执行文件的调试中增加一行"preLaunchTask": "iPLTest",,于是每次 F5 调试时都会编译一遍

断点失效的解决办法

现在直接运行,发现程序不会停在断点位置,断点在按下 F5 时由红色实心变成了黑色空心,鼠标放上去会提示:”Module containing this breakpoint has not yet loaded or the breakpoint address could not be obtained.“

原因是使用 CMake 生成时没有指定 Debug,导致没有调试信息,需要在生成目标对应的 CMakeLists.txt 中加上如下语句:
set(CMAKE_BUILD_TYPE "Debug")