Windows 11 C++开发环境全攻略:从编译器选型到实战配置 1. 项目概述为什么要在Windows 11上重新审视C开发工具如果你是一位在Windows平台上耕耘多年的C开发者最近可能被系统更新提示“骚扰”过。没错Windows 10的主流支持已经结束微软正全力推进Windows 11。这不仅仅是操作系统的更迭对于开发环境而言更意味着底层工具链、系统API、乃至开发体验的一次重塑。我最近将主力开发机升级到了Windows 11 23H2并借此机会系统性地重新评估和配置了整个C开发工具链。这个过程让我发现很多“祖传”的配置和工具选择在Windows 11的新特性如WSL2的深度集成、新的终端、更现代化的系统组件加持下有了更优解。这篇指南就是这次“工具链迁徙”实战的总结。它不仅仅是一份软件安装列表更侧重于为什么选以及怎么配。我会从最基础的编译器、构建系统到核心的IDE和编辑器再到提升效率的辅助工具层层拆解。无论你是刚接触Windows平台C开发的新手还是想优化现有工作流的老鸟都能找到可以直接“抄作业”的配置方案和避坑心得。我们的目标很明确在Windows 11上搭建一个高效、稳定、且能应对从控制台小工具到大型跨平台项目各种场景的C开发环境。2. 核心工具链选型编译器、构建系统与包管理搭建C开发环境编译器是基石构建系统是骨架包管理则是血肉。在Windows 11上我们的选择比以往任何时候都多但也更需要清晰的决策逻辑。2.1 编译器三巨头MSVC、Clang与MinGW-GCC的抉择Windows上的C编译器主要有三个流派选择哪一个直接决定了后续工具链的生态。1. Microsoft Visual C (MSVC)这是微软的“亲儿子”也是Windows平台原生开发的事实标准。为什么选它对Windows SDK、COM、DirectX等微软生态的支持最完美生成的二进制代码针对Windows系统优化程度最高。调试体验尤其是与Visual Studio集成时无与伦比。它是开发Windows桌面应用、游戏使用DirectX、驱动程序的不二之选。如何获取最省心的方式是安装Visual Studio Build Tools或完整的Visual Studio IDE。独立安装包Standalone Build Tools体积更小适合集成到CI/CD或纯净环境。实战注意MSVC对C新标准的支持速度很快但默认的“微软扩展”需要留意。在要求严格符合ISO标准的项目中记得使用/permissive-和/Zc:__cplusplus等编译器选项来启用严格模式。2. Clang/LLVM来自LLVM项目以出色的错误信息、快速的编译速度和严格的标准一致性而闻名。为什么选它如果你追求极致的编译速度、清晰的诊断信息或者项目需要高度的跨平台一致性在Linux/macOS上也用Clang那么Clang是绝佳选择。在Windows上它可以通过MSBuild集成也可以单独使用。如何获取通过Visual Studio安装在VS安装器中勾选“用于Windows的C Clang编译器”组件。这是最推荐的方式因为它能无缝集成到VS的MSBuild和CMake项目中。独立安装从LLVM官网下载预编译的Windows版本手动配置环境变量。实战心得Clang在Windows上作为编译器但链接器Linker通常仍使用MSVC的link.exe以获得最好的库兼容性。这种“Clang-Cl”模式结合了二者的优点。3. MinGW-w64/GCC这是将GNU编译器套件GCC移植到Windows环境的项目提供了类Unix的开发体验。为什么选它如果你的项目严重依赖Autotoolsconfigure/make或其他GNU生态工具或者你需要生成纯正的POSIX风格的可执行文件不依赖msvcrt.dllMinGW是必经之路。它也是许多跨平台开源库在Windows上的默认构建方式。如何获取推荐使用MSYS2来管理MinGW-w64。MSYS2提供了一个包管理工具pacman可以轻松安装多个版本的GCC如mingw-w64-ucrt-x86_64-gcc。重大避坑点MinGW有几个变种如mingw-w64-i68632位和mingw-w64-x86_6464位以及链接运行时库的不同版本msvcrt旧和ucrt新与Windows 10/11更匹配。在Windows 11上强烈建议使用基于UCRT的64位版本例如mingw-w64-ucrt-x86_64-...以避免潜在的运行时库冲突和兼容性问题。我的选择策略 对于纯粹的Windows原生应用我首选MSVC。对于需要高度跨平台或追求编译体验的开源项目我会在Windows上使用Clang通过VS安装。只有当项目明确依赖GNU工具链或需要特定库的MinGW构建版本时我才会启动MSYS2下的MinGW-w64。很多时候一个项目里可能会同时配置MSVC和Clang两套工具链用于对比测试。2.2 构建系统CMake已成绝对主流MSBuild不可忽视选好了编译器下一步是决定如何组织编译过程。1. CMake这已经是C跨平台构建的事实标准。它不直接构建项目而是生成你所需的后端构建文件如Visual Studio的.sln/.vcxproj或Ninja的.build.ninja。为什么选它一次编写CMakeLists.txt处处生成。完美解决了跨平台项目构建的难题。生态极其繁荣绝大多数现代C库都提供CMake支持。Visual Studio和VS Code都对CMake有原生或强大的插件支持。Windows 11实战配置安装从CMake官网下载安装包或者通过Chocolatey (choco install cmake) 或 Winget (winget install Kitware.CMake) 安装。务必将其bin目录加入系统PATH。生成器选择在命令行中cmake -G可以查看所有可用的生成器。常用组合有-G Visual Studio 17 2022 -A x64生成VS2022的64位解决方案。-G Ninja生成Ninja构建文件编译速度通常更快。需要单独安装Ninja。与IDE集成VS和VS Code都可以直接打开CMake项目文件夹自动完成配置、生成和构建体验流畅。2. MSBuild这是Visual Studio和.NET生态的底层构建引擎对应的是.vcxproj项目文件。为什么需要了解它即使你使用CMake最终在Visual Studio里构建时很可能还是CMake生成了.vcxproj文件给MSBuild执行。直接编写或修改.vcxproj可以让你进行更精细的构建控制。此外一些遗留的Windows项目或特定的微软技术栈如C/CLI可能仍主要依赖它。实战应用对于新手通常不需要直接编写.vcxproj。但学会在命令行使用msbuild MyProject.sln /p:ConfigurationRelease /p:Platformx64这样的命令进行构建对于自动化脚本非常有用。3. 其他选择Meson新兴的构建系统语法更现代速度声称比CMake更快。但在Windows生态的普及度远不及CMake。BazelGoogle出品擅长管理超大型、多语言、多仓库的构建但学习曲线陡峭在小型或个人项目中显得过重。我的建议无脑拥抱CMake。这是未来也是现在。花时间精通CMake是在C世界里的一项高回报投资。对于Windows专属小项目直接用Visual Studio创建MSBuild项目也无可厚非但心中要明白CMake是更通用的技能。2.3 包管理告别“手动拖库”迈向现代依赖管理传统C项目引入第三方库是噩梦下载源码、自己编译、配置头文件路径和库路径。现代包管理工具正在改变这一切。1. vcpkg微软官方推出的跨平台C库管理工具拥有海量的库超过2000个并且与Visual Studio和CMake集成度极高。安装与使用# 克隆vcpkg仓库 git clone https://github.com/Microsoft/vcpkg.git .\vcpkg\bootstrap-vcpkg.bat # 将vcpkg集成到全局需要管理员权限 .\vcpkg integrate install # 安装一个库例如json库 nlohmann-json .\vcpkg install nlohmann-json:x64-windows优势库版本经过微软和社区测试相对稳定。集成后在Visual Studio或CMake项目中可以自动找到头文件和库#include json.hpp就能直接用体验类似其他语言的包管理器。注意默认是“经典模式”每个库会编译安装到特定目录。还有“清单模式”允许你在项目目录下写一个vcpkg.json文件来声明依赖更适合项目管理。2. Conan一个去中心化、跨平台的C/C包管理器更灵活支持自定义远程仓库。优势比vcpkg更灵活可以定义不同的编译配置Profile例如针对不同编译器、架构、构建类型Debug/Release生成不同的二进制包。对于需要复杂依赖关系和定制化构建的团队项目非常强大。使用场景当你需要的库不在vcpkg中或者你需要对库的编译选项进行精细控制时Conan是更好的选择。它更像C世界的“Maven”或“pip”。3. MSYS2的pacman如果你使用MSYS2环境下的MinGW那么pacman就是你天然的包管理器。它可以安装大量的开发库如mingw-w64-x86_64-boost。优势在MinGW生态内这是最直接、依赖关系解决最好的方式。局限仅限于MSYS2环境库的版本可能更新较慢。我的工作流对于个人项目或快速原型我首选vcpkg因为它与Visual Studio的集成太方便了。对于公司项目或需要严格依赖版本控制、多配置构建的复杂场景我会评估使用Conan。两者并不互斥有时可以结合使用。3. 集成开发环境与编辑器Visual Studio vs. VS Code这是最令人纠结的选择之一。两者并非简单的替代关系而是定位不同的工具。3.1 Visual Studio 2022重型航母全功能集成Visual Studio特指完整的IDE不是VS Code是一个“全包”的解决方案。安装时勾选“使用C的桌面开发”你就得到了编译器MSVC、调试器、构建系统、性能分析器、测试框架、图形化界面设计器等一系列工具。核心优势无与伦比的调试器这是VS的杀手锏。历史调试、实时变量查看、内存可视化、多线程调试、与GPU调试器的集成功能强大到令人发指。深度系统集成开发Windows GUI程序Win32、MFC、WPF、UWP、游戏DirectX、移动应用时VS提供了最好的模板、设计器和工具支持。性能分析工具CPU使用率、内存分配、GPU性能分析工具非常专业。智能感知IntelliSense基于编译器的智能提示准确度极高尤其是对于大型、复杂的代码库。适合谁Windows原生应用开发者、游戏开发者、大型遗留项目维护者、以及任何需要顶级调试和诊断体验的开发者。Windows 11下的优化确保安装最新版本如VS 2022 17.10其对Windows 11的UI缩放和高DPI支持更好。善用“热重载”功能适用于部分C项目类型修改代码后无需重启程序即可看到效果极大提升UI开发效率。配置“解决方案资源管理器”的筛选视图在大型项目中快速定位文件。3.2 Visual Studio Code轻量巡洋舰高度可定制VS Code是一个轻量级但功能强大的源代码编辑器。它本身不具备编译和调试能力但通过插件可以扩展成强大的IDE。核心优势启动快速资源占用低秒开对机器配置要求低。极致的可定制性通过海量插件你可以打造完全符合个人习惯的环境。主题、快捷键、代码片段、语言支持无所不能。统一的跨平台体验在Windows、macOS、Linux上体验几乎一致对于跨平台开发者非常友好。与现代工具链完美融合对Git、CMake、WSL2、Docker的支持是原生级的体验流畅。配置C开发环境安装必要插件C/C (Microsoft)提供智能感知、调试、代码导航等核心功能。CMake ToolsCMake项目的构建、调试、配置管理。Code Runner快速运行单个文件。配置c_cpp_properties.json这是C/C插件的核心配置文件用于指定编译器路径、包含路径、C标准等。// .vscode/c_cpp_properties.json { configurations: [ { name: Win32, includePath: [ ${workspaceFolder}/**, C:/msys64/mingw64/include/**, // MinGW头文件路径 ${env:VCPKG_ROOT}/installed/x64-windows/include // vcpkg头文件路径 ], compilerPath: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe, // MSVC编译器路径 cStandard: c17, cppStandard: c20, intelliSenseMode: windows-msvc-x64 } ], version: 4 }配置tasks.json和launch.json分别用于定义构建任务和调试配置。CMake Tools插件可以自动生成这些配置极大简化了流程。适合谁喜欢折腾、追求轻量和定制化的开发者主要进行跨平台开发或服务端开发的开发者学生或初学者轻量入门作为Visual Studio的补充用于编辑脚本、配置文件或进行轻量级开发。3.3 如何选择我的双轨策略我个人的工作流是“双轨制”大型Windows项目、深度调试、性能剖析毫不犹豫地打开Visual Studio 2022。它的调试器和性能工具能节省我无数时间。小型工具、算法练习、阅读开源代码、在WSL2中开发、编辑配置和脚本使用VS Code。它的快速和灵活无可替代。对于纯粹的新手如果目标是学习C语言本身和通用编程从VS Code CMake 编译器组合开始能让你更理解工具链的构成。如果目标是快速开发Windows程序直接上Visual Studio更省心。4. 效率提升利器终端、Shell与辅助工具一个舒适的开发环境离不开周边工具的加持。Windows 11在这方面带来了巨大改进。4.1 终端Windows Terminal已成标配忘掉陈旧的cmd.exe和PowerShell窗口吧。Windows Terminal是现代Windows开发的必备终端。优势多标签页、窗格分割、丰富的主题定制支持Oh My Posh、GPU加速文本渲染、支持多种ShellCMD, PowerShell, Azure Cloud Shell以及WSL2中的Linux Shell。配置技巧从Microsoft Store安装或使用Winget (winget install Microsoft.WindowsTerminal)。在设置中将默认配置文件设置为PowerShell 7或你喜欢的Shell。安装一个强大的提示符工具如Oh My Posh让你的终端既美观又能显示Git分支、时间、后台任务等丰富信息。为不同的开发环境如VS Developer Command Prompt, MSYS2 MinGW64创建独立的终端配置文件一键切换。4.2 ShellPowerShell 7 传统CMD对于日常的文件操作、脚本编写PowerShell 7比CMD强大太多。优势基于对象而非文本的管道语法更强大跨平台支持macOS/Linux拥有丰富的模块生态通过PowerShellGet安装。开发常用命令# 类似Linux的常用命令 ls, cat, cp, rm, mv # 查找文件内容 Select-String -Path *.cpp -Pattern std::vector # 管理进程 Get-Process | Where-Object {$_.Name -like *code*} # 调用VC环境变量如果安装了VS C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat -archx644.3 Windows Subsystem for Linux 2 (WSL2)在Windows内获得完整的Linux体验这是Windows 11对开发者最友好的特性之一。WSL2允许你在Windows上运行一个完整的Linux内核并近乎原生地执行Linux二进制文件。对C开发者的价值无缝使用Linux工具链可以直接在WSL2中安装gcc、clang、make、gdb、valgrind等工具编译和运行Linux程序。测试跨平台兼容性无需双系统或虚拟机快速验证代码在Linux下的表现。使用Linux独有的开发库。与VS Code完美集成安装“Remote - WSL”插件后可以在VS Code中直接打开WSL2中的文件夹使用Linux环境下的工具链进行开发享受VS Code的GUI体验。设置步骤以管理员身份打开PowerShell运行wsl --install默认安装Ubuntu。安装后从开始菜单启动Ubuntu完成初始化设置。在VS Code中安装“Remote - WSL”插件。在VS Code中点击左下角绿色图标选择“New WSL Window”即可在WSL环境中进行开发。4.4 其他辅助工具推荐Git版本控制必备。Windows 11自带了Git不最好还是从官网安装最新版或者通过winget install Git.Git安装。Clang-Format Clang-Tidy代码格式化和静态分析工具。无论你用哪个编辑器都应该在项目中配置它们以保持代码风格一致并发现潜在问题。可以通过VS的“ClangPowerTools”插件或VS Code的“C/C”插件集成。Doxygen Graphviz如果你需要生成项目文档这是经典组合。虽然写注释有点烦但对于维护大型项目至关重要。Process Explorer / Process Monitor (Sysinternals)来自微软的超级强大的进程和系统监控工具。当你的程序行为诡异、文件锁无法释放、注册表访问出问题时它们是终极侦探。5. 从零搭建实战一个跨平台C项目的环境配置让我们以一个具体的例子串联起上述所有工具。假设我们要创建一个使用nlohmann-json和spdlog库的简单跨平台控制台项目。5.1 环境准备与工具安装安装Visual Studio Build Tools (含MSVC和CMake)下载Visual Studio生成工具安装程序。勾选“使用C的桌面开发”工作负载。在右侧的“安装详细信息”中务必勾选“MSVC v143 - VS 2022 C x64/x86 生成工具”、“Windows 11 SDK”、“C CMake 工具”。这样我们就获得了MSVC编译器和CMake支持。安装VS Code及插件安装VS Code。安装插件C/C、CMake Tools、Code Runner。安装vcpkgcd D:\DevTools # 选择一个你喜欢的路径 git clone https://github.com/Microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat .\vcpkg integrate install安装Windows Terminal和PowerShell 7如果尚未安装。5.2 创建项目并配置依赖创建项目文件夹例如MyCrossPlatformApp。使用vcpkg安装依赖D:\DevTools\vcpkg\vcpkg install nlohmann-json:x64-windows spdlog:x64-windows这会将库安装到vcpkg的installed\x64-windows目录下。编写CMakeLists.txt 在项目根目录创建CMakeLists.txt文件。cmake_minimum_required(VERSION 3.15) project(MyCrossPlatformApp LANGUAGES CXX) # 设置C标准 set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 告诉CMake使用vcpkg工具链文件 # 注意这行命令需要在 project() 之后add_executable() 之前 # 你可以通过 -DCMAKE_TOOLCHAIN_FILED:/DevTools/vcpkg/scripts/buildsystems/vcpkg.cmake 传递也可以写在这里 # 这里我们采用传递参数的方式更灵活。 # 查找包 find_package(nlohmann_json CONFIG REQUIRED) find_package(spdlog CONFIG REQUIRED) # 添加可执行文件 add_executable(${PROJECT_NAME} src/main.cpp) # 链接库 target_link_libraries(${PROJECT_NAME} PRIVATE nlohmann_json::nlohmann_json spdlog::spdlog )编写示例代码 创建src/main.cpp。#include spdlog/spdlog.h #include nlohmann/json.hpp #include iostream int main() { // 使用spdlog打印日志 spdlog::set_level(spdlog::level::debug); spdlog::info(Welcome to MyCrossPlatformApp!); // 使用nlohmann-json解析和生成JSON nlohmann::json j; j[name] MyApp; j[version] 1.0.0; j[features] {logging, json}; std::cout Configuration: j.dump(2) std::endl; spdlog::debug(Application finished.); return 0; }5.3 使用VS Code进行构建与调试用VS Code打开项目文件夹。配置CMake按下CtrlShiftP输入“CMake: Configure”。首次配置会要求你选择一个“Kit”。选择“Visual Studio Community 2022 Release - amd64”或类似的MSVC套件。关键一步在配置时需要指定vcpkg的工具链文件。在VS Code底部的状态栏点击当前的构建目标如“x64-Debug”选择“Change Kit and Configure...”。在弹出的命令面板中选择你的Kit后会提示输入其他参数。此时输入-DCMAKE_TOOLCHAIN_FILED:/DevTools/vcpkg/scripts/buildsystems/vcpkg.cmake请将路径替换为你自己的vcpkg路径。配置成功后CMake Tools插件会自动生成构建目录如build和构建文件。构建项目按下F7或点击状态栏的“Build”按钮。构建输出会在“终端”面板显示。调试项目确保活动文件是main.cpp。按下F5VS Code会尝试启动调试。首次运行可能需要你选择调试环境选择“C (Windows)”或“(Windows) Launch”。它会在.vscode文件夹下生成一个launch.json文件。我们需要修改它以正确启动我们构建的程序。修改.vscode/launch.json关键配置如下{ version: 0.2.0, configurations: [ { name: (Windows) Launch, type: cppvsdbg, request: launch, program: ${workspaceFolder}/build/Debug/MyCrossPlatformApp.exe, // 指向你的可执行文件 args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], console: integratedTerminal, preLaunchTask: build // 关联到一个构建任务调试前自动构建 } ] }同时在.vscode/tasks.json中确保有一个名为“build”的构建任务CMake Tools通常会自动生成。再次按下F5即可顺利在VS Code中设置断点、单步调试、查看变量。5.4 配置Clang作为编译器可选如果你想尝试用Clang来编译这个项目在CMake配置时选择不同的Kit即可。确保在Visual Studio安装器中安装了“用于Windows的C Clang编译器”。在VS Code中按下CtrlShiftP执行“CMake: Delete Cache and Reconfigure”。在选择Kit时你可能会看到类似“Clang x64 clang-cl”的选项选择它。重新配置和构建。此时项目将使用Clang-ClClang编译器MSVC链接器和库进行编译。通过以上步骤你就拥有了一个基于CMake管理、使用vcpkg处理依赖、支持MSVC/Clang双工具链、并能在VS Code中轻松构建和调试的现代C项目环境。这个配置是跨平台的只需稍作调整主要是工具链文件路径和编译器选择就可以在Linux或macOS上使用相同的CMakeLists.txt进行构建。6. 常见问题与故障排除实录在实际操作中你一定会遇到各种“坑”。这里记录了几个最常见的问题和我的解决思路。6.1 “找不到头文件”或“无法打开源文件”这是最经典的问题根本原因是IDE的智能感知或编译器找不到头文件路径。在Visual Studio中检查项目属性 - C/C - 常规 - 附加包含目录。确保包含了第三方库的头文件路径如vcpkg的installed\x64-windows\include。如果使用vcpkg并执行了integrate install通常会自动集成。如果没有可以手动添加。尝试“重新扫描解决方案”有时VS的智能感知数据库需要更新。在VS Code中检查.vscode/c_cpp_properties.json文件中的includePath和compilerPath是否正确。确保compilerPath指向你正在使用的编译器MSVC或Clang。按下CtrlShiftP运行“C/C: 编辑配置(UI)”这是一个图形化界面来修改上述配置。重要VS Code的C/C插件有时会缓存旧的配置。可以尝试运行命令“C/C: 重置IntelliSense数据库”或者直接删除项目下的.vscode/ipch缓存文件夹。6.2 链接错误LNKxxxx未解析的外部符号这通常意味着编译器找到了头文件声明但链接器找不到对应的库文件定义。检查库文件路径VS项目属性 - 链接器 - 常规 - 附加库目录。CMake确保target_link_libraries正确指定了库目标。检查库文件名Debug和Release版本、静态库.lib和动态库.dll的导入库.lib要区分清楚。vcpkg安装的库通常会自动处理这些。检查运行时库确保项目属性中“C/C - 代码生成 - 运行时库”的设置一致如/MDd对应Debug动态库/MT对应静态库。混用会导致链接错误。vcpkg的库默认使用动态链接/MD或/MDd。对于CMake项目最可能的原因是find_package没有成功或者target_link_libraries链接的目标名称不对。使用message()命令打印变量检查find_package找到的路径。6.3 CMake配置失败找不到包确保指定了vcpkg工具链文件这是最关键的一步。在CMake配置命令中必须包含-DCMAKE_TOOLCHAIN_FILE...。检查vcpkg是否安装了该库的对应变体例如你需要的是x64-windows还是x86-windows是静态库x64-windows-static还是动态库使用vcpkg list查看已安装的包。清理CMake缓存删除项目下的build文件夹或CMakeCache.txt文件然后重新配置。旧的缓存信息可能导致错误。6.4 程序运行时找不到DLL如果你使用的是动态链接库.dll在运行时需要让系统能找到它们。将DLL所在目录加入PATH最简单的方法是将包含所需.dll的目录例如D:\DevTools\vcpkg\installed\x64-windows\bin添加到系统的PATH环境变量中。将DLL复制到可执行文件同级目录这是发布程序时的常见做法。在Visual Studio中调试可以在项目属性 - 调试 - 环境中添加类似PATHD:\DevTools\vcpkg\installed\x64-windows\bin;%PATH%的条目。6.5 Windows 11特定问题路径长度限制与权限长路径问题虽然Windows 10/11支持启用长路径超过260字符但某些旧工具或脚本可能仍有问题。建议将项目放在靠近磁盘根目录的短路径下例如D:\Projects避免C:\Users\YourName\OneDrive\Documents\...这样的深层次路径。权限问题在C:\Program Files或C:\根目录下直接构建项目可能会因权限不足失败。建议在用户目录如C:\Users\YourName\source或非系统盘进行开发。防病毒软件干扰实时防病毒软件可能会显著拖慢编译速度尤其是大量文件操作时。可以将你的项目目录和构建输出目录如build添加到防病毒软件的排除列表中。环境配置是个熟能生巧的过程遇到问题多搜索错误代码善用工具自带的日志和诊断信息。最重要的经验是保持环境整洁记录每一步操作。使用像Chocolatey或Winget这样的包管理器来安装工具使用vcpkg或Conan管理库依赖使用CMake描述构建过程并将所有配置如.vscode文件夹、CMakeLists.txt纳入版本控制。这样无论是在新电脑上重装环境还是与团队成员协作都能快速复现一个稳定一致的开发环境。