事情是这样的:今天下午数据结构与算法的实验课,整节课就要求自己演示一下如何使用IDE进行Debug。实话说我好久没写C++了,已经忘记如何使用VsCode进行C++开发了,就算平时进行C++开发,一直都是用命令行编译后直接运行(,所以趁这次机会回顾下VsCode如何配置C++。

Vs是不可能Vs的,这辈子都不可能下载Vs。我EasyX都用的VsCode写。

下载VsCode

官网:https://code.visualstudio.com/

下载编译器 MinGW

进入官网页面:https://www.mingw-w64.org/
下载页面中选择 x86_64-win32-seh,下载。

配置环境变量

进入你安装的mingw的bin文件夹,复制整个路径,然后在高级系统设置中添加这个环境变量。(经典三个确定)

配置插件

Code Runner当然香,但是没法Debug,我们直接安装插件 ChineseC/C++ ,然后重启IDE。

关于json的配置

一共有三个JSON文件,有个麻烦的点就是,每次运行一个C++的项目,你都需要将这三个JSON文件复制到.vscode文件夹下。

所需要更改的,仅仅是将JSON中的Mingw相关路径 换成你自己电脑上的MINGW路径即可。

c_cpp_properties.json

{
  "configurations": [
      {
          "name": "Win32",
          "includePath": [
              "${workspaceFolder}/**"
          ],
          "defines": [
              "_DEBUG",
              "UNICODE",
              "_UNICODE"
          ],
          "compilerPath": "C:\\mingw64\\bin\\gcc.exe",
          "intelliSenseMode": "windows-gcc-x64",
          //以下两条或许不会默认生成,但我建议你添加上
          "cppStandard": "c++23",
          "cStandard": "c23"
      }
  ],
  "version": 4
}

launch.json

{
  "version": "0.2.0",
  "configurations": [
      {
          "name": "g++.exe - Build and debug active file",
          "type": "cppdbg",
          "request": "launch",
          "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
          "args": [],
          "stopAtEntry": false,
          "cwd": "${fileDirname}",
          "environment": [],
          "externalConsole": false,
          "MIMode": "gdb",
          "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
          "setupCommands": [
              {
                  "description": "Enable pretty-printing for gdb",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }
          ],
          "preLaunchTask": "C/C++: g++.exe 生成活动文件"
      }
  ]
}

task.json

{
  "tasks": [
      {
          "type": "cppbuild",
          "label": "C/C++: g++.exe 生成活动文件",
          "command": "C:\\mingw64\\bin\\g++.exe",
          "args": [
              "-fdiagnostics-color=always",
              "-g",
              "${file}",
              "-o",
              "${fileDirname}\\${fileBasenameNoExtension}.exe"
          ],
          "options": {
              "cwd": "${fileDirname}"
          },
          "problemMatcher": [
              "$gcc"
          ],
          "group": {
              "kind": "build",
              "isDefault": true
          },
          "detail": "调试器生成的任务。"
      }
  ],
  "version": "2.0.0"
}

运行C++代码

恭喜你,已经可以安心打断点调试你的C++程序了。

本次教程比较简略,更多是给自己一个存放这三个JSON文件的地方,以便下次使用。

如果觉得比较麻烦,可以下载JetBrain的Clion,有学生认证的话是可以免费使用的。