尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Vscode配置C/C++环境喂饭教程:Windows下MinGW与体验优化设置
1. 为什么 Windows 上 Vscode 写 C/C 总是跑不起来很多刚接触编程的朋友都会遇到同一个场景跟着视频敲完了代码点运行却弹出一堆看不懂的英文报错或者干脆没有任何反应。Vscode 本身只是一个编辑器它负责让你把代码写出来但真正把.c或.cpp文件翻译成电脑能执行的程序还需要编译器。Windows 系统默认不带 C/C 编译器这就是为什么你直接点运行会失败。我试过在几台不同配置的 Windows 电脑上从零配置发现新手卡住的地方高度集中MinGW 下载错了版本、环境变量路径没配对、三个 json 文件里的路径写错、Code Runner 没开终端运行。这篇教程会把每个环节拆到能直接复制粘贴的程度你只要跟着做编译调试一次跑通不是问题。先明确一下这套环境适合谁完全没写过代码的 Windows 初学者、大学刚开 C 语言课需要交作业的同学、想用 Vscode 刷算法题但被环境劝退的人。如果你已经装过 Visual Studio 那种几十 G 的完整 IDE也可以继续用但 Vscode 加 MinGW 的组合更轻量启动快插件生态也足够应付日常学习和刷题。整个流程分成两大块第一块是把编译器和编辑器装好并让它们互相认识第二块是配置调试和运行参数让你按一个键就能编译执行。中间会涉及三个配置文件分别是c_cpp_properties.json、launch.json、tasks.json它们决定了代码提示、调试行为和编译命令。很多人复制代码时漏掉一个反斜杠或者盘符写错就会导致找不到编译器。另外要提醒一点所有安装路径和项目路径都不要出现中文和空格。Windows 对中文路径的支持在开发工具链里一直不太稳定MinGW 的某些组件遇到中文路径会直接报错。把 Vscode 和 MinGW 都放在盘符根目录下的英文文件夹里能避开大量莫名其妙的 bug。下面从下载安装开始一步一步来。每一步都有验证动作做完一步确认没问题再进入下一步不要跳步。2. MinGW 与 Vscode 安装及环境变量配置避坑指南MinGW 是 Windows 上常用的 GCC 工具链集合里面包含gcc、g、gdb这些命令。下载渠道有两个一个是 GitHub 上的 mingw-builds-binaries 发布页另一个是国内网盘。GitHub 下载有时速度慢但文件版本更新网盘快但版本可能稍旧。两者选一个即可核心是选对文件名。在 GitHub 发布页里文件名通常长这样x86_64-15.2.0-release-posix-seh-ucrt-rt_v11-rev0.7z。拆开看x86_64表示 64 位系统posix是线程模型seh是异常处理方式ucrt对应 Win10/Win11 的运行时库rt_v11是运行时版本.7z是压缩格式。你只需要确认自己的系统是 64 位然后下载带x86_64和ucrt的那个即可。32 位系统现在很少见了如果确实是 32 位选i686开头、带msvcrt的版本。下载完成后用 7-Zip 或 WinRAR 解压。解压出来是一个mingw64文件夹里面包含bin、lib、include等目录。把这个mingw64文件夹整个剪切到某个盘的根目录比如E:\mingw64。不要放在桌面或深层目录里路径越短越好。接下来配置环境变量。按 Win 键搜索“环境变量”打开“编辑系统环境变量”点击“环境变量”按钮。在上方“系统变量”区域找到Path选中后点“编辑”。点击“新建”把E:\mingw64\bin这个路径粘贴进去。注意一定是bin目录不是mingw64根目录。粘贴后一路点确定退出。验证是否配置成功按 WinR 输入cmd回车在命令行里输入gcc --version如果输出类似gcc (x86_64-posix-seh-rev0, Built by MinGW-Builds project) 15.2.0的信息说明环境变量生效了。如果提示“不是内部或外部命令”说明路径写错了或者没保存重新检查 Path 里的条目。Vscode 的安装相对简单。打开官网下载 Windows 版安装包运行后同意协议安装路径同样建议放在盘符根目录比如E:\Microsoft VS Code。安装选项里把“添加到 PATH”和“将‘通过 Code 打开’操作添加到 Windows 资源管理器文件上下文菜单”都勾上这样以后右键就能直接用 Vscode 打开文件夹。安装完成后先不急着运行我们还需要装几个插件。打开 Vscode点击左侧扩展图标搜索Chinese安装简体中文语言包重启后界面变成中文。接着搜索C/C安装微软官方的 C/C 扩展它提供代码补全、跳转和调试支持。再搜索Code Runner这个插件让你能一键运行单文件代码。三个插件装完基础环境就齐了。3. tasks.json 与 launch.json 可复制配置片段现在创建一个专门放代码的文件夹比如E:\CODE路径同样不要有中文。在 Vscode 里打开这个文件夹然后在资源管理器里新建一个.vscode文件夹注意前面有个点。在这个文件夹里创建三个文件c_cpp_properties.json、launch.json、tasks.json。文件名必须完全一致建议直接复制粘贴。先看c_cpp_properties.json它负责告诉 Vscode 去哪里找头文件和编译器影响代码提示和错误波浪线。把下面的内容复制进去只需要改一处compilerPath里的盘符和路径改成你自己的 MinGW 位置。{ configurations: [ { name: Win32, includePath: [ ${workspaceFolder}/** ], defines: [ _DEBUG, UNICODE, _UNICODE ], windowsSdkVersion: 10.0.17763.0, compilerPath: E:\\mingw64\\bin\\g.exe, cStandard: c11, cppStandard: c17, intelliSenseMode: ${default} } ], version: 4 }注意compilerPath里用的是双反斜杠\\这是 JSON 格式的要求。如果你把 MinGW 装在 D 盘就改成D:\\mingw64\\bin\\g.exe。路径必须和你在环境变量里配的完全一致一个字都不能差。接着是launch.json它控制调试行为。按 F5 调试时Vscode 会读取这个文件来决定用哪个调试器、启动哪个可执行文件。同样只需要改miDebuggerPath这一处。{ version: 0.2.0, configurations: [ { name: g.exe build and debug active file, type: cppdbg, request: launch, program: ${fileDirname}\\build\\${fileBasenameNoExtension}.exe, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: false, MIMode: gdb, miDebuggerPath: E:\\mingw64\\bin\\gdb.exe, setupCommands: [ { description: 为 gdb 启用整齐打印, text: -enable-pretty-printing, ignoreFailures: true } ], preLaunchTask: task g } ] }这里的program字段把生成的可执行文件放到了build子文件夹里这样你的源码目录不会堆满.exe文件。preLaunchTask指向tasks.json里的任务名调试前会先执行编译。最后是tasks.json它定义编译命令。这个文件需要改两处command和options.cwd。{ version: 2.0.0, tasks: [ { type: cppbuild, label: task g, command: E:\\mingw64\\bin\\g.exe, args: [ -fdiagnostics-coloralways, -g, ${file}, -o, ${fileDirname}\\build\\${fileBasenameNoExtension}.exe, -I, -stdc17 ], options: { cwd: E:\\mingw64\\bin }, problemMatcher: [ $gcc ], group: { kind: build, isDefault: true }, detail: 调试器生成的任务。 } ] }如果你写 C 语言时遇到中文输出乱码可以在args数组里加一行-fexec-charsetGBK。三个文件保存后在CODE文件夹下新建hello.c写入#include stdio.h int main() { printf(Hello Vscode\n); return 0; }按 CtrlShiftB 执行编译任务如果没有报错会在build文件夹里生成hello.exe。按 F5 进入调试程序会在终端输出结果。到这里编译和调试链路就打通了。4. 验证请求与 Code Runner 一键运行配置基础配置完成后日常写代码更常用的是快速运行而不是完整调试。Code Runner 插件可以让你按一个快捷键就编译并执行当前文件。安装完 Code Runner 后点击它的设置搜索Run in Terminal并勾选这样程序会在终端里运行能正常接收输入。接着搜索Executor Map点击“在 settings.json 中编辑”。找到c和cpp两个键把原来的命令替换成下面这两段。这段命令会自动创建build文件夹把编译产物放进去避免污染源码目录。cpp: cd $dir; if (-not (Test-Path -Path build)) { New-Item -ItemType Directory -Path build | Out-Null }; g $fileName -o build\\$fileNameWithoutExt; .\\build\\$fileNameWithoutExt, c: cd $dir; if (-not (Test-Path -Path build)) { New-Item -ItemType Directory -Path build | Out-Null }; g $fileName -o build\\$fileNameWithoutExt; .\\build\\$fileNameWithoutExt如果你比较在意中文乱码问题把上面两段换成带chcp 65001的版本cpp: chcp 65001 cd $dir; if (-not (Test-Path -Path build)) { New-Item -ItemType Directory -Path build | Out-Null }; g $fileName -o build\\$fileNameWithoutExt; .\\build\\$fileNameWithoutExt, c: chcp 65001 cd $dir; if (-not (Test-Path -Path build)) { New-Item -ItemType Directory -Path build | Out-Null }; g $fileName -o build\\$fileNameWithoutExt; .\\build\\$fileNameWithoutExt保存后回到hello.c按 CtrlAltN终端会输出Hello Vscode。如果报错Out-Null 无法识别说明Run in Terminal没勾选回去补上即可。如果提示g 不是内部或外部命令说明环境变量没生效重新打开一个终端再试。验证调试功能在printf那一行左侧点击一下会出现一个红点这是断点。按 F5 启动调试程序会停在这一行左侧变量窗口能看到当前作用域的值。按 F10 单步执行按 F5 继续运行到结束。调试控制台会显示程序输出。这套流程走通说明launch.json和tasks.json都配置正确。再补充一个常见需求多个源文件一起编译。如果你的项目有main.c和tool.c需要在tasks.json的args里把${file}改成${fileDirname}\\*.c这样会编译目录下所有 C 文件。C 项目同理改成*.cpp。改完后按 CtrlShiftB 重新编译即可。5. 常见报错排查401、local proxy failed、reading choices 与 OAuth这一节整理配置过程中真实会遇到的报错和对应解法。虽然这套本地环境不涉及网络请求但如果你后续接入 AI 辅助编程工具可能会碰到下面这些错误。提前了解能省下大量搜索时间。报错一gcc: error: CreateProcess: No such file or directory这个通常出现在环境变量配好后第一次运行。原因是 Path 里虽然加了E:\mingw64\bin但 MinGW 解压不完整bin目录下缺少gcc.exe或g.exe。检查E:\mingw64\bin里是否有这些文件。如果没有重新解压压缩包注意不要只解压部分文件。报错二launch: program E:\CODE\build\hello.exe does not exist按 F5 调试时提示可执行文件不存在。说明preLaunchTask没有成功执行编译或者tasks.json里的输出路径和launch.json里的program路径不一致。检查两个文件里的build文件夹名是否相同盘符是否一致。另外确认tasks.json的label和launch.json的preLaunchTask值完全一样都是task g。报错三local proxy failed或401 Unauthorized这类错误一般出现在你使用 AI 编程助手或远程模型服务时。401表示 API Key 无效或过期local proxy failed表示本地代理进程没启动或端口被占用。排查顺序先确认 Key 是否复制完整没有多余空格再确认 Base URL 填写正确最后检查本地是否有其他程序占用了相同端口。如果你用的是 TaoToken 这类服务可以在控制台重新生成 Key 并替换。报错四Error reading choices或OAuth token expiredreading choices通常是模型返回格式和客户端预期不一致多见于流式响应解析失败。可以尝试关闭流式输出或者更新客户端版本。OAuth token expired表示登录凭证过期需要重新走一遍授权流程。在 Claude Code 或类似工具里删除旧的凭证文件后重新登录即可。报错五中文输出乱码在tasks.json的args里加上-fexec-charsetGBK或者在 Code Runner 的 Executor Map 里用带chcp 65001的命令。两种方式选一种不要同时用否则可能反而乱码。报错六undefined reference to xxx链接错误通常是因为函数声明了但没定义或者多个源文件编译时漏掉了某个文件。检查是否所有用到的.c或.cpp文件都参与了编译。如果用tasks.json编译确认args里的文件匹配模式覆盖了所有源文件。排查问题的通用思路先看报错第一行定位是编译阶段还是链接阶段还是运行阶段再检查路径和文件名最后对照配置文件逐项核对。大部分问题都出在路径不一致或文件名拼写上。6. 体验优化插件与长期编码工具链建议环境跑通之后可以花几分钟做一些体验优化让写代码更顺手。打开 Vscode 设置搜索settings.json在文件里加入下面这些配置。它们能开启自动保存、平滑滚动、粘贴格式化等功能。{ files.autoSave: afterDelay, files.autoGuessEncoding: true, workbench.list.smoothScrolling: true, editor.cursorSmoothCaretAnimation: on, editor.smoothScrolling: true, editor.cursorBlinking: smooth, editor.mouseWheelZoom: true, editor.formatOnPaste: true, editor.formatOnType: true, editor.formatOnSave: true, editor.wordWrap: on, editor.guides.bracketPairs: true, editor.suggest.snippetsPreventQuickSuggestions: false, editor.acceptSuggestionOnEnter: smart, editor.suggestSelection: recentlyUsed, window.dialogStyle: custom, debug.showBreakpointsInOverviewRuler: true }注意 JSON 里每项之间要有逗号最后一项后面不要加逗号。保存后立即生效。自动保存和保存时格式化能帮你省掉很多手动操作。插件方面除了前面装的 C/C 和 Code Runner再推荐几个实用的。Prettier可以格式化多种语言的代码虽然 C/C 有自带格式化但写 JSON 或 Markdown 时很好用。CodeSnap能把选中的代码生成漂亮的图片方便分享到社交平台。Material Icon Theme给文件加上图标一眼就能区分.c、.h、.json文件。主题插件看个人喜好One Dark Pro和GitHub Theme都比较耐看。Competitive Programming Helper适合刷算法题能快速创建测试用例。如果你后续想用 AI 辅助写代码可以考虑接入 TaoToken 的 Coding Plan。它提供统一的 API 入口支持多种模型适合长期编码和 Agent 场景。配置时把 Base URL 填https://taotoken.net/apiKey 在控制台的 API Keys 页面生成模型 ID 根据你选的模型填写。三件套配齐后在支持自定义 API 的插件里就能调用。遇到 401 就检查 Key遇到 local proxy failed 就检查本地端口遇到 reading choices 就切换非流式模式。最后说一个实用技巧把.vscode文件夹复制到每个新项目里这样新项目不用重新配置。如果换了电脑只要 MinGW 路径一致配置文件可以直接复用。路径不一致时批量替换盘符即可。养成把常用配置备份到网盘的习惯重装系统后能快速恢复。写代码这件事环境配置只是第一步后面还有算法、数据结构、项目实战。但这一步走稳了后面就不会被工具问题打断思路。遇到报错不要慌按上面的排查清单逐项检查大部分问题都能自己解决。
RELATED

相关推荐

PSO-CNN多输入单输出回归预测:MATLAB实现与超参数优化

PSO-CNN多输入单输出回归预测:MATLAB实现与超参数优化

简介:这份资源面向深度学习与智能优化方向的研究开发者及从事实测预测的从业人员,聚焦多特征输入、单一数值输出的回归任务,通过粒子群算法自动搜索卷积神经网络的学习率、批大小等关键超参数,以提升预测精度,可应用于…

📅 2026/10/17 18:15:13
Java循环练习题精讲:从累加到嵌套循环的底层逻辑与避坑指南

Java循环练习题精讲:从累加到嵌套循环的底层逻辑与避坑指南

1. 循环到底在练什么:从一道题看透Java循环的底层逻辑很多人学Java循环的时候,第一反应是“for、while、do-while,语法我都懂”,但一到写题就卡壳。这其实不是语法问题,而是没有建立起“循环思维”。所谓循环思维&…

📅 2026/10/17 18:15:13
AI时代低代码复兴:自然语言驱动的开发民主化与落地实践

AI时代低代码复兴:自然语言驱动的开发民主化与落地实践

低代码这个词,几乎每隔几年就被拿出来炒一轮。早期那拨人喜欢讲“让业务人员也能开发系统”,口号响得很,落地却经常变成一场灾难。直到AI大模型批量进入开发工具圈,局面才出现真正的变化:自然语言描述需求,…

📅 2026/10/17 18:15:13
MORE NEWS

更多资讯

📰

理解策略单调提升:TRPO与PPO背后的信任域与KL散度

2021年2月12日,我把强化学习笔记翻到第四十三篇,正好卡在Monotonic Improvement Theory,也就是策略的单调提升理论。说实话,策略优化这一块最容易让人懵的不是某个算法有多复杂,而是“为什么TRPO要限定KL散度”“为什么…

📰

IFRS S1合规实践指南:从ESG叙事到可持续财务披露的准则落地

简介:针对国际可持续准则理事会(ISSB)2023年6月发布的IFRS S1,安永推出了系统性深度解读,面向企业财务报告编制者、ESG合规管理人员、审计与咨询从业者,旨在帮助读者理解和应对可持续相关财务信息披露新规的…

📰

互金合规指引拆解:从监管语言到技术落地

简介:这是一份面向互联网金融行业从业者、合规管理人员及金融科技系统开发者的专业指引文档。内容聚焦互联网金融业务在监管框架下的合规要点,覆盖业务运营、风险控制、信息安全等关键方向,适合用于搭建合规知识体系或作为实际业务的对照参考…

📰

从工作组到活动目录:域环境搭建与安全攻击面全解析

第七天的笔记主题是“域”。做安全这行,尤其内网方向,域这个字基本决定了你能走多远。一套网络安全视频课程学到第七天,正好卡在从单机渗透转向域环境的关键节点上。如果你只是想打靶机、挖点Web漏洞,域可能暂时用不上&#xff1b…

📰

CSS盒子水平居中:四代方案选型与生产级落地指南

1. 项目概述:为什么一个“盒子居中”要持续更新?“CSS-盒子水平居中”这八个字,看起来像教科书里最基础的一行笔记,甚至可能被初学者扫一眼就划走——不就是margin: 0 auto吗?但如果你在真实项目里写过超过50个不同结构…

📰

用LLM Agent搭建智能简历初筛系统:架构、代码与踩坑实录

每年秋招季我都要面对一个问题:邮箱里躺着一千多份简历,猎头渠道、内推渠道、校招渠道混在一起,格式五花八门,PDF、Word、图片式扫描件、网页导出的HTML……最崩溃的不是读不完,而是读完以后发现,那个最合适…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬