文章目录前言一、VS Code 环境安装1. 下载 VS Code2. 安装3. 安装 C 扩展4. 验证二、MinGW-w64 下载1. 下载2. 解压3. 添加环境变量4. 验证三VS Code 中常见的编译运行方式方法一手动在终端敲命令Power Shell 脚本脚本代码使用步骤使用示例示例 1仅编译运行交互模式示例 2从输入文件读取输出到控制台常见问题1. 执行策略问题2. 编译选项自定义方法二配置 tasks.json方法三安装 Code Runner 插件总结前言对于参加算法竞赛或日常刷题的朋友来说在 Windows 上搭建一个趁手的 C 开发环境是第一步。对于算法题这种 “一个 .cpp 文件 若干测试用例” 的场景VS Code g (MinGW) 是 Windows 下的不错选择。它兼顾了轻量、现代 C 标准支持C20/23、灵活的编译运行方式且完全免费。本文将分享一个轻量、高效、新手友好的方案VS Code MinGW-w64 (g) 自定义 PowerShell 脚本。你只需要写好 .cpp 文件和样例输入文件可选在终端中输入一条命令如 run demo脚本就会自动完成编译、运行可选重定向输入输出、删除临时 .exe 的全过程。一、VS Code 环境安装1. 下载 VS Code访问 https://code.visualstudio.com/点击 “Download for Windows” 下载安装程序。2. 安装运行安装程序建议勾选以下选项Add “Open with Code” action to Windows Explorer file context menuAdd “Open with Code” action to Windows Explorer directory context menuRegister Code as an editor for supported file types3. 安装 C 扩展启动 VS Code打开扩展面板CtrlShiftX搜索 “C” 并安装由 Microsoft 提供的 C/C Extension Pack它会自动安装 C/C 插件、CMake 工具等。4. 验证安装完成后VS Code 就能语法高亮 C 代码并提供智能提示。二、MinGW-w64 下载MinGW-w64 是 Windows 上最流行的 GCC 移植版提供 g 编译器。1. 下载访问 https://www.mingw-w64.org/ 或直接 github 下载 https://github.com/niXman/mingw-builds-binaries/releases然后点击 GitHub 下载链接选择适合你系统的版本例如 x86_64-13.2.0-release-win32-seh-ucrt-rt_v11-rev1.7z。架构i686 是32位x86_64 是64位。线程模型posix 支持C11标准线程库适合多线程C项目win32 只支持Windows原生线程API不能使用C的thread库mcf 是另一种线程模型较少用。异常处理dwarf 只用于32位性能好但跨DLL抛异常不安全seh 只用于64位效率高且可跨DLL。C运行时库ucrt 是现代通用CRT推荐新项目使用msvcrt 是旧版CRT仅用于兼容老旧系统如Windows XP。2. 解压将压缩包解压到一个没有空格的路径例如D:\Developing_Tools\mingw64。3. 添加环境变量解压完成后需要添加到系统环境变量让系统能在任意文件下使用g命令。右键 “此电脑” → 属性 → 高级系统设置 → 环境变量。在 “系统变量” 里点击 新建 → 添加如下配置点击Path→ 编辑 → 新建 → 添加如下配置确定保存。4. 验证打开 PowerShell或 cmd输入g--version如果显示 GCC 版本信息如 13.2.0则安装成功。到这步 Windows 下的 C/C 开发环境就已经安装完成了可以正常使用 VSCode 编写代码并运行。比如通过命令g demo.cpp -o demo.exe将源代码编译成可执行文件然后运行它即可。三VS Code 中常见的编译运行方式在 VS Code 中要让一个demo.cpp编译并运行通常有三种方法方法一手动在终端敲命令gdemo.cpp-o demo.exe-O2-stdc20./demo.exedeldemo.exe痛点每次都要输入完整命令容易输错测试多个样例时需要手动重定向输入输出 input.txt output.txt忘记删除.exe会让目录越来越乱。也可以通过编写 PowerShell 自动化脚本实现“一个命令编译运行自动清理”。脚本可以叫 AI 帮你生成很方便Power Shell 脚本这是一个名为run的 PowerShell 脚本。它具备以下特性自动编译run demo→ 编译demo.cpp可省略后缀使用-O2 -stdc20。可选输入输出重定向run demo input output→ 从input文件读入输出写入output文件。自动删除.exe无论运行成功或失败生成的.exe都会在最后被删除。兼容交互模式不加输入/输出参数时程序直接在终端运行可以正常键盘输入。永久使用将函数添加到 PowerShell 配置文件打开任意终端即可调用。脚本代码functionrun{if($args.Count-lt1){Write-HostUsage: cr filename.cpp [input_file] [output_file]-ForegroundColor Redreturn}$cppFile$args[0]if($cppFile-notlike*.cpp){$cppFile.cpp}if(-not(Test-Path$cppFile)){Write-HostError: Source file $cppFile not found.-ForegroundColor Redreturn}$exeFile[System.IO.Path]::GetFileNameWithoutExtension($cppFile).exe# Compile# Write-Host Compiling $cppFile ... -ForegroundColor Cyang$cppFile-o$exeFile-O2-stdc20if($LASTEXITCODE-ne0){Write-HostCompilation failed.-ForegroundColor Redreturn}# Write-Host Compilation succeeded. -ForegroundColor Green# Build command line for cmd /c to avoid PowerShell redirection parsing$inputFileif($args.Count-ge2){$args[1]}else{$null}$outputFileif($args.Count-ge3){$args[2]}else{$null}$cmdLine$exeFileif($inputFile){$cmdLine$cmdLine $inputFile}if($outputFile){$cmdLine$cmdLine $outputFile}# Runtry{if($inputFile-or$outputFile){# Write-Host Running with redirection... -ForegroundColor Cyancmd/c$cmdLine}else{# Write-Host Running interactively... -ForegroundColor Cyan.\$exeFile}}finally{if(Test-Path$exeFile){Remove-Item$exeFile-Force# Write-Host Removed $exeFile -ForegroundColor DarkGray}}}使用步骤确保g可用安装 MinGW-w64并将bin目录加入系统 PATH。新建run.ps1文件粘贴上述代码保存文件。将脚本添加到 PowerShell 配置文件运行下面命令在打开的文件填入. (脚本存放路径)D:\Scripts\run.ps1notepad$PROFILE重新加载配置文件.$PROFILE验证在任意目录下输入run应显示使用帮助Usage: cr filename.cpp [input_file] [output_file]。使用示例假设当前目录下有demo.cpp文件#includeiostreamusingnamespacestd;intmain(){inta,b;cinab;coutabendl;return0;}示例 1仅编译运行交互模式run demo编译运行demo.cpp在控制台输入两个数输出和示例 2从输入文件读取输出到控制台创建input.txt内容3 5cr demo input.txt编译运行demo.cpp读取文件输入输出到控制台显示8常见问题1. 执行策略问题PowerShell 默认是不允许执行脚本的如果加载配置文件时提示“无法加载因为在此系统上禁止运行脚本”请以管理员身份运行 PowerShell 并执行Set-ExecutionPolicyRemoteSigned-Force2. 编译选项自定义脚本中固定使用-O2 -stdc20如需修改请直接编辑g那一行的参数。方法二配置tasks.json{label:Compile Run,type:shell,command:g,args:[${file},-o,${fileDirname}\\${fileBasenameNoExtension}.exe,-O2,-stdc20],problemMatcher:[$gcc],group:build}然后通过CtrlShiftB编译再手动在终端运行.exe。或者写一个复合任务同时编译和运行。具体可参考官方文档。方法三安装 Code Runner 插件优点一键运行支持重定向需配置。总结Windows 下写算法题VS Code MinGW-w64 (g)是轻量且强大的组合。VS Code 提供了轻量、可定制的编辑器环境配合 C 扩展后代码提示和错误定位都很出色。MinGW-w64 (g) 让 Windows 用户也能使用现代 C 标准C20和优化选项。结合一个自定义的 PowerShell 脚本run我们可以实现智能编译、灵活重定向、自动清理的完美工作流。特别适合算法题中反复编译测试多个样例的场景。