在 Windows 上配置 VS Code 与 C++ 开发环境

背景知识

Visual Studio Code 与 Visual Studio、IDEA 等有着本质上的不同:前者为文本编辑器,而后者为 IDE(集成开发环境)。IDE 以语言为中心,为语言打造最贴身的开发工具,而编辑器只负责编辑,其他的功能都得由插件实现。但是编辑器相对于 IDE 来说

  1. 更加轻量、快速,尤其是存储空间上二者甚至能差好几个数量级。
  2. 跨语言开发时能最大限度地保留写代码的习惯。
  3. 底层原理对使用者更透明,有利于新手了解编译等过程。

准备工作

  1. 安装 Visual Studio Code

  2. 转到 VS Code 侧边栏中 Extension 这个 tab,搜索安装插件 适用于 VS Code 的中文(简体)语言包

  3. 安装插件 C/C++ Extension Pack.

  4. 下载编译好的 Mingw-w64 工具链(包含了最新的 GCC C++ 编译器)。

配置 MingW

  1. 7-Zip 或其他解压软件解压下载的 Mingw-w64 工具链,将 mingw64 复制到 C 盘根目录下。
  2. 按下组合键 Win+R,输入 sysdm.cpl,选择高级 - 环境变量,在系统变量下找到 Path 这一行双击。
  3. 点击新建,输入 C:\mingw64\bin 。然后一路确认。
  4. 按下组合键 Win+R,输入 cmd,在命令行中输入 gcc --version 并回车,查看是否成功显示 gcc 版本。

Side note: 为什么要这样做?

刚才你将 mingw64 的可执行文件(binary)目录添加到了环境变量 PATH 中。在cmd等终端下运行可执行文件时,如果在当前目录找不到这个名称的文件,命令行就会自动从上到下在 PATH 环境变量中的目录寻找。这样,即使编辑器不知道我们把 mingw 放在哪里,也可以正常运行编译命令。

配置编译生成

  1. 打开 VS Code,点击打开文件夹,并选择一个你想存放代码的文件夹。

  2. 新建配置文件夹 .vscode,新建 tasks.json 保存如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"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": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
  1. 新建一个文件,命名为 helloworld.cpp,并保存如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <iostream>
    #include <vector>
    #include <string>

    using namespace std;

    int main()
    {
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
    cout << word << " ";
    }
    cout << endl;
    }
  2. 此时按下 Ctrl+Shift+B 或者点选 终端 > 运行生成任务,您可以看到 终端 选项卡弹出,并自动执行编译命令。

  3. 用 + 按钮新建一个终端窗口并运行 .\helloworld.exe,此时您可以看到 Hello World 信息。

配置调试

  1. 在顶部菜单栏,选择运行 > 添加配置... > C++ (GDB/LLDB).

  2. 粘贴如下内容至打开的 launch.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: 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 build active file"
}
]
}
  1. 鼠标移动到行数指示器左侧,您可以看到红色圆点,单击后即为在该行下断点。调试时程序会运行到这一行前并停下。

    请在第 9 行下断点。

  2. 按下 F5 或者点选 运行 > 开始调试,这时候您可以看到程序在第 9 行停下,请自行探索窗口上部出现的调试工具。

进阶设置

插件