VSCode-C++环境安装一文通

本教程目标是再 Windows 上配置一个稳定, 高效, 主要面向信奥需求的 C++ 开发环境, 使用 MinGW 作为编译器, VSCode 作为编辑器, 并实现 一键编译运行

一 下载并安装编译器

  1. 下载 MSYS2
    访问官网 https://www.msys2.org/, 根据系统架构下载安装程序

  2. 安装 MSYS2
    运行安装程序, 建议安装到默认路径 C:\msys64(后续环境变量配置基于此路径)

  3. 打开 MSYS2 UCRT64 终端
    从开始菜单找到并打开 MSYS2 UCRT64(注意不是 MSYS2 MSYS 或 MSYS2 MinGW 终端)

  4. 更新系统包(必须执行)
    在终端中依次执行:

    1
    pacman -Syu

    若提示关闭终端重新打开, 请重新打开后再次执行 pacman -Syu, 直至没有更多更新

  5. 安装 GCC 工具链
    在终端中执行:

    1
    pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

    安装过程中, 默认选择 all(直接回车)

  6. 验证安装
    在终端中输入 g++ --version, 应显示 GCC 版本信息

二 配置系统环境变量(最关键步骤)

❌ 常见错误: 许多用户发现 VSCode 任务无法编译, 或运行程序时报错找不到 libstdc++-6.dll, 根本原因都是 没有将 MSYS2 的 bin 目录添加到用户 PATH 环境变量

  1. 打开系统环境变量设置

    • 右键“此电脑” → 属性 → 高级系统设置 → 环境变量
    • “用户变量” 中找到 Path, 双击编辑
  2. 添加 MSYS2 bin 路径
    点击“新建”, 输入:

    1
    C:\msys64\ucrt64\bin

    如果你的安装路径不是 C:\msys64, 请相应修改

  3. 确认并重启
    依次点击“确定”保存所有窗口, 然后 重启电脑(或至少重启所有已打开的终端和 VSCode, 使环境变量生效)

  4. 验证 PATH
    打开 命令提示符(cmd)或 PowerShell, 输入:

    1
    g++ --version

    若显示版本信息, 说明 PATH 配置成功. 否则请检查路径是否正确

三 安装 VSCode 及核心插件

  1. 下载安装 VSCode
    访问 https://code.visualstudio.com/ 下载并安装

  2. 安装插件
    打开 VSCode搜索并安装以下插件:

    • C/C++(Microsoft)——提供代码提示和调试支持
    • Code Runner —— 实现一键编译运行

四 配置 VSCode 工作区

1. 创建工作区文件夹

在任意位置新建一个文件夹(如 C:\Users\你的用户名\oi), 用于存放信奥代码. 在 VSCode 中打开该文件夹(文件 → 打开文件夹)

2. 配置 tasks.json(编译任务)

  • 在 VSCode 中, 按 Ctrl+Shift+P, 输入 Tasks: Configure Default Build Task, 选择 C/C++: g++.exe build active file
  • VSCode 会自动创建 .vscode/tasks.json 文件, 将其内容替换为以下模板(注意包含 options.cwd 和正确的命令):
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
{
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}" // 确保任务在当前文件夹执行
},
"tasks": [
{
"label": "build cpp",
"type": "shell",
"command": "g++",
"args": [
"-std=c++17",
"-O2",
"-Wall",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe" // 运行参数, 可以在比赛前(虽然比赛大概率不能用自己电脑)修改为比赛测评机的参数, 此处与大部分比赛通用参数相差无几
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": false
},
"problemMatcher": ["$gcc"]
}
]
}

-std=c++17 是信奥常用标准;-O2 开启优化;-Wall 显示所有警告

4. 配置 settings.json(优化体验)

Ctrl+Shift+P, 输入 Preferences: Open Settings (JSON), 在用户设置或工作区设置中添加:

1
2
3
4
5
6
7
8
9
10
{
// Code Runner 配置: 编译后自动运行
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -std=c++17 -O2 -Wall $fileName -o $fileNameWithoutExt && .\\$fileNameWithoutExt"
},
"code-runner.runInTerminal": true, // 在集成终端中运行(支持输入)
"code-runner.saveFileBeforeRun": true, // 运行前自动保存
// 可选: 关闭 C/C++ 插件的错误波浪线(避免误报)
"C_Cpp.errorSquiggles": "Disabled"
}

五 编写并运行你的第一个程序

  1. 在工作区中新建一个文件 helloworld.cpp, 输入:
1
2
3
4
5
6
7
#include <bits/stdc++.h>
using namespace std;

int main() {
cout << "Hello World!" << '\n';
return 0;
}
  1. 保存文件

  2. 编译运行(二选一):

    • 使用 Code Runner: 按 Ctrl+Alt+N(或点击右上角的 ▶️ 图标), 程序会自动编译并运行, 输出显示在终端中
    • 使用编译任务: 按 Ctrl+Shift+B 编译, 然后在终端手动输入 .\helloworld.exe 运行(注意 PowerShell 需要 .\ 前缀)
  3. 若看到输出 Hello World!, 那么环境配置就成功了


六 常见问题与排查

问题现象 原因 解决方法
'g++' 不是内部或外部命令 PATH 未包含 MSYS2 bin 目录 检查环境变量, 确认添加了 C:\msys64\ucrt64\bin, 并重启 VSCode/终端, 若还不行, 则在系统环境变量Path中也加入对应路径
fatal error: bits/stdc++.h: No such file 安装的 GCC 不完整或版本太旧 通过 MSYS2 完整安装工具链(执行 pacman -S mingw-w64-ucrt-x86_64-toolchain 并选择 all)
helloworld: The term ... not recognized(PowerShell) PowerShell 默认不加载当前目录的程序 运行时使用 .\helloworld.exe, 或在 Code Runner 配置中使用 .\\$fileNameWithoutExt
编译任务失败, 但手动编译成功 任务环境变量或工作目录不一致 tasks.json 中添加 "options": { "cwd": "${workspaceFolder}" }, 并确保 PATH 已全局配置
程序运行时报错缺少 DLL(如 libstdc++-6.dll) PATH 中未包含 MSYS2 bin 目录 C:\msys64\ucrt64\bin 加入系统 PATH, 并重启 VSCode
Code Runner 运行后无法输入数据(cin 没反应) 未在集成终端中运行 设置 "code-runner.runInTerminal": true

七 附加建议(信奥赛专用)

  • 代码模板: 可配置 Code Runner 插件, 在新建题目时自动填充头文件和 main 函数(通过 cph 插件或自定义片段)
  • 多文件项目: 若需编译多个 .cpp 文件, 可在 tasks.jsonargs 中列出所有文件, 或使用通配符(如 *.cpp)
  • 调试: 使用 launch.json 配置调试, 设置断点后按 F5 启动调试, 适合排查复杂逻辑错误
  • 竞赛环境模拟: 编译时建议使用 -std=c++17 -O2 -static(静态链接, 避免依赖 DLL)

本教程适用于 Windows 10/11, 已通过 MSYS2 2026 版和 VSCode 最新版验证