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

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

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

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

构建并运行C++程序

launch.json文件(可选)写入以下内容:

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

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

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

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

 1workspace/
 2├── .vscode/            # 存放配置文件
 3│   ├── launch.json
 4│   └── tasks.json
 5
 6├── bin/                # 存放构建的exe文件
 7│   ├── HelloWorld.exe
 8│   ├── Number.exe
 9│   └── {name}.exe
10
11├── HelloWorld.cpp      # 存放源代码
12├── Number.cpp
13└── {name}.cpp
Licensed under CC BY-NC-SA 4.0
网站总访客数:Loading

使用 Hugo 构建
主题 StackJimmy 设计