VScode配置C/C++运行环境

编辑器秒变IDE

下载C/C++编译器

当前主流的C/C++编译器是gcc/g++,可以通过MinGW下载。

MinGW有32位和64位版本,推荐使用64位版,因为32位的gcc/g++版本较低,且会在VScode的调试界面出现bug。

MinGW-64下载地址查找符合自己版本的MinGW下载(默认是Linux系统)。

对于Windows系统,推荐在对应的Github页面下载x86_64-15.2.0-release-win32-seh-ucrt-rt_v13-rev0.7z版本。下载完成后解压。

另一种获取编译器的方法是先下载一个IDE,如Dev-C++,小熊猫C++等。在其程序目录下通常会有编译器文件,可之后直接使用。

IDE附赠的编译器

配置环境变量

环境变量是计算机中的一个重要参数,它指明了在终端中输入命令的来源和功能。若缺少对应的环境变量,一些命令会显示“无法识别”。

  1. 找到并记住g++.exe文件所在目录,通常为.\mingw64\bin

g++.exe文件地址

  1. Win11系统下打开 设置系统系统信息,在“相关信息”中打开“高级系统设置”

  2. 在弹出窗口中选择“环境变量”,在新窗口中选择系统变量Path编辑,再在新窗口中选择新建,粘贴g++.exe文件所在的地址。之后一直点击“确定”关闭所有窗口。

  3. cmd窗口中输入g++ --version,若显示版本等信息则表示环境变量配置成功。

环境变量

注意:配置完 Windows 中的环境变量之后,必须重启 cmd 之后才会在 cmd 中生效。

配置VScode

了解配置原理

这部分会比较抽象,省时间可以跳过。

VScode默认有3套配置文件,均位于文件夹.vscode下。

可以通过打开设置看到:用户区、工作区、SSH。

区域 特点
用户区 可看作“全局配置”,在整个用户计算机(就是你的电脑上)均生效
工作区 仅在当前打开的文件夹内有效
SSH 当且仅当连接到SSH远程计算机时才会出现,实际上就是远程计算机的用户区配置文件

因此,若要配置运行环境,应当先创建一个文件夹作为“工作区”,然后将配置文件、源代码等文件全部放入。此后写代码和调试时都应在此文件夹中进行。

配置运行环境

  1. 创建新文件夹workspace作为工作区,在workspace文件夹内再创建文件夹.vscodebin

  2. .vscode文件夹内再创建文件,分别命名为tasks.jsonlaunch.json

文件名 作用
tasks.json 终端任务文件,定义在终端执行的任务。在这里用于C/C++可执行文件的构建和运行
launch.json 运行任务文件,定义按F5调试时的任务。在这里用于C/C++可执行文件的调试

也就是说,如果只是要构建和运行C/C++程序,可以只用写tasks.json

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
    "version": "2.0.0",     // 版本号,建议保持不变
    "tasks": [
        {
            "label": "构建C/C++文件",   // 任务名称,选择任务时将会看到
            "type": "shell",           // 任务类别,shell表示在终端运行
            "command": "g++",          // 命令名称
            "args": [                  // 命令参数(可自行修改)
                // 表示将会被替换为所操作的.cpp文件
                "${file}",
                "-o",
                // 可执行文件生成的位置
                "${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe",
                "-g",
                "-Wall",
                "-static-libgcc",
                // 编码,默认为UTF-8
                "-fexec-charset=UTF-8",
                // 构建的C++标准
                "-std=c++14"
            ],
            "group": "build",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "new"
            },
            "detail": "生成可执行文件",     // 任务注释,显示为任务名称的下行小字
            "problemMatcher": "$gcc"
        },

        {
            "label": "构建并运行C/C++文件",
            "type": "shell",
            "dependsOn": "构建C/C++文件",
            "command": "${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe",
            "group": {
                "kind": "build",
                "isDefault": true   // 设置为默认操作
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "new"
            },
            "detail": "调试器生成的任务",
            "problemMatcher": []
        }
    ]
}

.json文件中,所有的\都应输入成\\,这一过程称为转译。

配置完成后,点击 终端运行任务选择所需的任务 即可构建或运行程序。或直接按Ctrl+Shift+B运行默认任务,上例中为"构建并运行C/C++文件",相当于在终端中执行命令:

1
2
g++ file.cpp -o file.exe -g -Wall -static-libgcc -fexec-charset=UTF-8 -std=c++14
file.exe

构建并运行C++程序

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
{
    "version": "0.2.0",
    "configurations": [
        { 
            // 单文件调试
            "name": "Debug for one file",
            "type": "cppdbg",   // cppdbg对应cpptools提供的调试功能;只能是cppdbg
            "request": "launch",
            // 这里program指编译好的exe可执行文件的路径,与tasks中要对应
            "program": "${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,   // 是否在main处打断点    
            "cwd": "${fileDirname}",    // 调试程序时的工作目录
            "environment": [],
            "externalConsole": false,               // 改为true时为使用cmd终端
            "internalConsoleOptions": "neverOpen",  // 设为true为调试时聚焦调试控制台
            "MIMode": "gdb",
            // 指定调试器所在路径,注意间隔是\\,请修改为你的路径
            "miDebuggerPath": "D:\\Developer\\mingw64\\bin\\gdb.exe",
            // 调试开始前执行的任务,必须与tasks.json的label相对应
            "preLaunchTask": "构建C/C++文件" 
        }
    ]
}

配置完成后,点击 运行启动调试 即可开始调试。或直接按F5运行。

  1. 之后,所有新建的C++文件都应在有配置文件的工作区中,这样可以直接在VScode中测试。

如果按照以上方法配置,工作区的文件结构应该如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
workspace/
├── .vscode/            # 存放配置文件
│   ├── launch.json
│   └── tasks.json

├── bin/                # 存放构建的exe文件
│   ├── HelloWorld.exe
│   ├── Number.exe
│   └── {name}.exe

├── HelloWorld.cpp      # 存放源代码
├── Number.cpp
└── {name}.cpp
网站总访客数:Loading

使用 Hugo 构建
主题 StackJimmy 设计