Mobile wallpaper 1Mobile wallpaper 2Mobile wallpaper 3Mobile wallpaper 4Mobile wallpaper 5Mobile wallpaper 6
2580 字
13 分钟
个人Windows C语言开发环境指南

VSCode + MSYS2 + Xmake:打造 Windows 下最优雅的 C/C++ 开发环境#

一、入门C/C++开发的“拦路虎”#

你是否曾怀揣着精通C 语言的热血,兴冲冲地打开教程,结果第一步就被劝退了?

对于新手来说,C/C++ 最大的“拦路虎”往往不是语法错误,而是——“我的代码到底在哪写?怎么让它跑起来?”

放眼望去,市面上的IDE似乎有两个极端:要么是“航空母舰”,要么是“上古神器”。

1.“航空母舰”般的压迫感 —— Visual Studio#

很多教程会推荐你安装微软的 Visual Studio。没错,它是宇宙最强 IDE,但对于初学者来说,它太重了。安装它动辄需要 20GB~50GB 的空间,让你的硬盘瑟瑟发抖。这就好比你想削个苹果,结果却被要求买一台全自动工业级数控机床

而且,它把编译器、链接器等底层细节封装成了一个黑盒子。你可能点了几个月“运行”按钮,却依然不知道代码是如何变成程序的。

2.“上古神器”的无力感 —— Dev-C++#

另一种则是学校机房标配的Dev-C++ 或者Code::Blocks这种早已经停止更新的IDE。他们能够提供轻量化的开发环境,帮助初学者快速的写出”Hello World!”。

但是随着代码的不断堆积却发现了很多重量级问题:

  • “老年人”般的反应:Dev-C++的代码补全功能总是时有时无,常常只是简单的文本匹配,不会理解C++的语法。

  • “事后诸葛亮”式的错误检测:当你写完上百行代码,信心满满地按下编译按键时,结果瞬间弹出超出代码行数的errors,你不得不在“雷区”中艰难的排查。

  • “祖传”UI:缺乏现代IDE的美观主题和拓展生态,缺少系统的集成功能。

那么这个时候就有人要问了:“煮啵煮啵,既然太重太旧都不行,那么有没有一个轻量现代透明速度快的开发环境?”

有的兄弟有的,这就是我今天要推荐的方案:VSCode + MSYS2 + Clangd + CodeLLDB

  • VSCode:负责提供高颜值的界面和极致的编辑体验,现在许多AI IDE是基于VSCode开发,方便转移设置。

  • MSYS2:负责在 Windows 上提供最纯正的编译工具和先进的包管理工具,让你看清代码运行的本质。

  • Clangd:目前世界上最聪明的 C++ 智能补全引擎,它能像顶级编辑校对稿件一样,实时检查你的语法。

  • LLDB:新一代高性能调试器,它能让程序在这一秒“定格”,允许你像侦探一样,查找“凶手”是谁。

别被这些名词吓到,接下来,我会像拼积木一样,带你把这套让我爱不释手的环境搭建起来。相信我,配置好之后,你会找回"精通"C语言的热情。

现在跟着我的文章动手吧👇

二、开发环境搭建指南#

1.构建系统安装#

首先需要配置我们这套开发环境的地基MSYS2

步骤一:前往MSYS2的下载页面,下载安装包。#

loading-ag-268

步骤二:安装MSYS2#

打开下载好的MSYS2安装包,只需要注意安装目录即可

loading-ag-266

CAUTION

请务必记住MSYS2的安装目录!

例如我的路径是:F:\software\toolchain\MSYS2,后面我们会用到它很多次。

步骤三:设置环境变量#

当我们安装好MSYS2后,我们的操作系统并查找不到MSYS2藏在了哪一个文件夹中。需要我们手动设置环境变量,引导操作系统寻找到“宝藏”。

按下Windows+Q查询编辑系统环境变量,点击即可进入系统属性,点击”环境变量“。

然后点击Path进行系统变量编辑

点击右上方新建将我们需要使用的工具链目录填入系统变量中(请根据你的实际安装路径修改!

TIP

这里就是使用上方安装目录的地方,比如我的安装目录为F:\software\toolchain\MSYS2,我要使用Clang工具链则添加F:\software\toolchain\MSYS2\clang64\bin

如果要使用UCRT64工具链则添加F:\software\toolchain\MSYS2\ucrt64\bin,但是UCRT64工具链与该开发环境并不是完全适配

步骤四:工具链安装#

打开MSYS2安装目录,点击clang64.exe进入clang工具链虚拟环境。

输入以下命令安装编译器(遇到提示一直回车确认即可):

pacman -Syu mingw-w64-clang-x86_64-toolchain

接着,安装构建神器 Xmake 和 CMake:

pacman -Su mingw-w64-clang-x86_64-xmake mingw-w64-clang-x86_64-cmake
TIP

相较于直接从LLVM、xmake、cmake官网下载工具然后再添加到系统变量中,使用MSYS2只需一个变量即可完成工具的整合。而且使用pacman能够更方便的管理各组件中的依赖关系

步骤五:工具链验证#

打开Windows终端,依次输入clang -vxmake --versioncmake --version如果不是红色提示则工具链配置完成

****

2.VSCode配置#

步骤一:安装VSCode#

VSCode 本质上只是一个编辑器,它不负责运行代码。你可以认为它是法拉利的外壳,本身不可以载人出行,但是你可以安装上其他配件让他成为一个完整的跑车。

进入VSCode的下载页面,点击Download即可完成VSCode的下载。

loading-ag-270

打开安装程序,选择好安装位置,一路下一步即可。

步骤二:安装拓展#

打开VSCode进行拓展安装

需要的拓展如下

步骤三:拓展设置#

按下 Ctrl + Shift + P,输入 Open User Settings (JSON),打开 settings.json 文件。 请将下面的代码粘贴进去,但务必修改路径!

// xmake settings
"xmake.debugConfigType": "codelldb", // 使用 codelldb 插件而非 cpptools 进行调试
"xmake.runMode": "buildRun", // 运行前自动 build
"xmake.buildLevel": "debug",
"xmake.customDebugConfig": {
"console": "integraedTerminal" // XMake调试时使用集成终端而非 debug console,也可以使用 externalTerminal
},
"xmake.executable": "F:/software/toolchain/msys2/mingw64/share/xmake/xmake.exe", // xmake安装位置
// Clangd settings
"clangd.path": "F:/software/toolchain/msys2/clang64/bin", // Clangd 文件位置
"clangd.arguments": [
// "--all-scopes-completion", // 全局补全(补全建议会给出在当前作用域不可见的索引,插入后自动补充作用域标识符),例如在main()中直接写cout,即使没有`#include <iostream>`,也会给出`std::cout`的建议,配合"--header-insertion=iwyu",还可自动插入缺失的头文件
"--background-index", // 后台分析并保存索引文件
"--clang-tidy", // 启用 Clang-Tidy 以提供「静态检查」
"--clang-tidy-checks=performance-*, bugprone-*, misc-*, google-*, modernize-*, readability-*, portability-*",
"--compile-commands-dir=${workspaceFolder}/build", // 编译数据库(compile_commands.json 文件)的目录位置
"--completion-parse=auto", // 当 clangd 准备就绪时,用它来分析建议
"--completion-style=detailed", // 建议风格:打包(重载函数只会给出一个建议);还可以设置为 detailed
"--enable-config", // 启用配置文件(YAML格式)
"--fallback-style=Google", // 默认格式化风格: 在没找到 .clang-format 文件时采用,可用的有 LLVM, Google, Chromium, Mozilla, Webkit, Microsoft, GNU
"--function-arg-placeholders=true", // 补全函数时,将会给参数提供占位符,键入后按 Tab 可以切换到下一占位符,乃至函数末
"--header-insertion-decorators", // 输入建议中,已包含头文件的项与还未包含头文件的项会以圆点加以区分
"--header-insertion=never", // 插入建议时不自动引入头文件
"--log=verbose", // 让 Clangd 生成更详细的日志
"--pch-storage=memory", // pch 优化的位置(Memory 或 Disk,前者会增加内存开销,但会提升性能)
"--pretty", // 输出的 JSON 文件更美观
"--ranking-model=decision_forest", // 建议的排序方案:hueristics (启发式), decision_forest (决策树)
"-j=8", // 同时开启的任务数量
"--query-driver=F:/software/toolchain/msys2/clang64/bin/clang*" // clang 编译器的路径(设置错误会导致 clangd 无法识别标准库)
],
"clangd.checkUpdates": true, // 自动检测 clangd 更新
"clangd.onConfigChanged": "restart", // 借助网上的信息排序建议
"clangd.detectExtensionConflicts": true, // 当其它拓展与 clangd 冲突时警告并建议禁用
"editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳转点,不用这个就必须手动触发Intellisense了
// LLDB settings
"lldb.commandCompletions": true, // LLDB 指令自动补全
"lldb.dereferencePointers": true, // LLDB 指针显示解引用内容
"lldb.evaluateForHovers": true, // LLDB 鼠标悬停在变量上时预览变量值
"lldb.launch.expressions": "native", // LLDB 监视表达式的默认类型
"lldb.showDisassembly": "never", // LLDB 不显示汇编代码
"lldb.verboseLogging": true,
"clangd.onConfigChanged.forceEnable": true,
CAUTION

🔍 避坑指南

代码中所有带 F:/software/... 的路径,必须改成你电脑上实际的 MSYS2 安装路径!注意路径分隔符请使用正斜杠 /

3.Hello World!#

根据上面的操作,你已经完成了环境的配置。让我们来构建一个工程验证一下吧。

在VSCode中打开一个文件夹,然后按下Ctrl+Shift+P,输入xmake,选择xmake Project,依次选择 C++ -> Console即可完成xmake工程创建。

在VSCode右下角的Status Bar中配置xmake

选择平台为mingw或者msys,选择工具链为clang

然后点击运行按钮(小三角)。

如果在终端里看到了 hello world!,恭喜你!你已经成功在 Windows 上跑通了最现代化的 C++ 开发流程!🚀

三、结语#

为什么要这么折腾?直接装一个开箱即用的 CLion 或者继续用 Dev-C++ 不好吗?

这就好比买速冻饺子自己和面剁馅的区别。

  • 一体化 IDE(如Clion):方便,开箱即用,但极其庞大,启动慢,像开着一辆重型卡车去买菜。

  • VSCode + MSYS2:这是你自己组装的赛车。你对它的每一个零件都了如指掌。当环境出问题时,你不再是两眼一抹黑,因为你知道它是如何运作的。

这种掌控感,是成为一名优秀程序员的第一步。

在出版界,如果你不了解纸张的克重和油墨的特性,就很难做出一本完美的书;在编程界,如果你不了解编译器和链接器是如何工作的,就很难写出高性能的代码。

希望这篇指南能帮你顺利搭建起属于你的代码“超跑”。如果在配置过程中遇到了报错,欢迎发送邮件到2363278450@qq.com,我会帮助你完成独属于你的“超跑”,同时也能不断完善这篇文章!

Happy Coding! ✨

个人Windows C语言开发环境指南
https://blog.nexuus1207.xyz/posts/mycppenv/
作者
Nexuus1207
发布于
2025-11-09
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时