在win10系统下,VS Code中配置C++编译和调试环境,经过个人实践整理一下配置的过程、方法和使用体验。

目录

VS Code中C++编译和调试环境配置(Win10)

准备工作

VS Code的安装

  在vscode安装包下载页面选择相应的版本进行下载:

C++和简体中文扩展插件安装

简体中文插件

  首先在扩展应用商店中搜索chinese,并选择第一个扩展进行安装,点击Install之后重启vscode即可:

C++插件

  在左侧应用商店中搜索C++,并选择第一个扩展插件进行安装,点击Install即可:

安装和配置MinGW

  MinGW的安装这里建议使用离线包的安装,因为使用方便,直接解压即可。
  一、下载离线包
  准备中给出的离线包连接中选择任意一个版本的x86_64-posix-seh下载即可。
  二、解压并存放
  使用7z或其他解压工具进行解压,并将其中的mingw整个文件夹复制到自己想要存放的位置,路径中不要有中文,而且建议路径不要太长,省的寻找的时候麻烦。比如我将mingw存放在路经C:\myprogram之下。
  三、添加至环境变量中
  将mingw中的bin目录添加到系统的环境变量中,方法如下:
  1. 找到“系统环境变量”的设置位置,在开始菜单的搜索栏搜索环境变量
  2. 添加系统环境变量,依此:点击环境变量,找到系统变量中的path,点击编辑,然后点击新建,在使用浏览按钮选中到mingw下的bin文件夹即可。
  效果如下图所示:
  四、验证是否配置成功
  在cmd命令行窗口中输出:gcc -v,如果成功则显示如下信息gcc version 8.1.0

创建配置文件

  根据官方的文档,需要创建以下三个配置文件,以用于编译和运行cpp文件,这里需要先创建一个工作区文件夹,用来保存相关配置文件和将来创建的源代码文件,这里我自己创建了一个命名为vscpp的文件夹(以下均称该文件夹为工作区),如下图所示:
  首先需要在工作区创建一个名称为.vscode的文件夹:
  接下来分别手动创建并配置一下三个文件:
  1.首先是c_cpp_properties.json

//由于该文件不允许注释,因此这里单独列出
//该文件配置可以不做更改
{
    "configurations": [
        {
            "name": "Win32", 
            "includePath": [                                                                        
                "${workspaceRoot}"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

  2.其次是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": true,                                          //若参数为true,输出结果就会在cmd窗口中显示,若为false,输入输出则显示在终端
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\myprogram\\mingw64\\bin\\gdb.exe",         //只需将本行的路经改为自己mingw所在的路经,以我的为例,将斜线改为双斜线
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++.exe build active file"
    }
  ]
}

  3.最后是tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++.exe build active file",
      "command": "C:\\myprogram\\mingw64\\bin\\g++.exe",                  //将本行的路经改为自己mingw所在的路经,以我的为例,将斜线改为双斜线
      "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
      "options": {
        "cwd": "C:\\myprogram\\mingw64\\bin"                              //将本行的路经改为自己mingw所在的路经,只需要到bin目录即可
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

创建cpp文件进行测试

  • 在工作区中创建的所有cpp文件,或者文件夹中的子文件都可以使用到以上的配置
  • 因此可以根据不同需要分不同的文档管理源代码


  此处,我创建了learnC++文件夹,用于存放学习C++时候编写的源代码文件,以便于和其他做以区分。
  首先创建一个cpp文件,比方说创建一个main.cpp用于打印输出Hello World!:

#include<iostream>
using namespace std;
int main(void){
    cout<<"Hello World!"<<endl;             //输出Hello World!
    system("pause");                        //防止cmd窗口运行结束后直接退出
    return 0;
}

  使用Ctrl+F5编译运行并调试,效果如下所示(可在代码左侧打上断点):