准备工作

先参考以下博文下载MinGW-w64
MinGW-w64下载攻略
关于VSCode的下载及安装请参考其他博文,网络有大量安装步骤,本文不做介绍。

小坑

实际上很多其他CSDN在推荐另一款g++的编译器,链接:VS Code 配置 C/C++ 编程运行环境(保姆级教程)
该文章从github上下载msys2-x86_64-20240113.exe,长这样:在这里插入图片描述
使用这个的话不是没有问题,但是在多文件编译的时候配置Json文件,我的电脑出现了无法识别通配符*的情况,导致*.cpp老出错。所以我这里不建议下载这个版本的编译器,这个保姆级攻略也并没有让我实现C++的多文件调试。

从新建文件夹开始

首先要了解根目录的概念,你使用VScode右键打开文件夹时,该文件夹就是你的根目录,你的一个项目要都在这个根目录里。其他无关的代码文件则不能出现在该文件夹里。
在这里插入图片描述
如果你邮件没有该选项可以参考这篇文章:右键菜单加入用VSCode打开文件和文件夹
或者通过VScode左上角打开文件夹就可以。
在这里插入图片描述

这一步骤相当于其他大型工程软件例如VS的打开工程一样。然后你左边工具栏的文件夹部分,就会有一个你打开文件夹的名字,这个就是你的根目录。

在这里插入图片描述

根目录文件结构

在该章节中,你需要严格遵守起名规范文件目录结构
首先在根目录下创建三个文件夹,.vscodeincludebin<这个可以自动生成,不用手动创建>
其中.vscode文件夹是用来放json配置文件的,后文会告诉你怎么写,include放你引用的第三方库和自己的头文件,然后bin存放编译后的exe文件,根目录本身存放你的cpp源码,我这里给出一个我的小项目文件目录。
在这里插入图片描述
实际上我也不知道怎么回事,但是我自己写的头文件Connectivity.h,无论放在根目录下还是include文件夹内都能编译成功。

在根目录下创建.vscode文件夹

在你的根目录下(项目文件夹)创建一个文件夹,起名.vscode
并在.vscode文件夹内创建三个JSON文件,名称需要和我写的保持一致。JSON文件名和具体内容请看详细代码,并根据注释内容修改成你自己的。

新建c_cpp_properties.json

新建 c_cpp_properties.json文件,请注意修改注释中的文件路径,内容如下:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            //请把下面这一行compilerPath后的路径换成你自己的g++.exe路径
            "compilerPath": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "cStandard": "c17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

新建launch.json

新建 launch.json文件,内容:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++ 调试",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/${fileBasenameNoExtension}.exe", // 可选替换为你的可执行文件路径
            "args": [],
            "cwd": "${workspaceFolder}", // 强制工作目录为项目根目录
            "environment": [],
            "externalConsole": false
        }
    ]
}

新建tasks.json

新建 tasks.json文件,请注意修改注释中的文件路径,内容如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            //请把下面这一行command后的路径换成你自己的g++.exe路径
            "command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "-I", "${workspaceFolder}/include",  // 添加头文件搜索路径,用于你引入第三方库和自己写的头文件<可选修改>
                "${workspaceFolder}/*.cpp",//这里的路径指的是编译根目录下的所有cpp文件<可选增加与修改>
                "-o",
                //下面的路径是编译生成的exe文件路径,我这里设置的是根目录下的bin文件夹内,exe名称同你的主函数文件名<可选修改>
                "${workspaceFolder}/bin/${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

在这里我要着重强调
${workspaceFolder}指的是你的工作区文件夹,其实就是根目录,就是你的项目文件夹。我已经用注释的形式把一些路径写了进去,你可以根据你的项目修改或增添这些路径。你也可以把你的项目文件结构喂给AI,问问它怎么修改这个json文件来成功编译你的项目。
最后结构如图:
在这里插入图片描述

至此就可以调试运行c++程序了,在你的主程序代码按F5就可以调试,也可以打断点。

小坑2

如果出现cmd命令错误,是你的vscode打开的终端不是powershell而是cmd导致的。
首先在vscode下方的终端这里点右上角有一个下拉箭头,然后选择默认配置文件
在这里插入图片描述
然后选择powershell即可
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐