必须选“使用C++的桌面开发”工作负载,它是C++开发的启动开关,包含MSVC生成工具、Windows SDK、标准库头文件、调试器、CMake支持和测试框架;漏选则cl.exe缺失、无法编译hello world。

必须选“使用C++的桌面开发”工作负载,其他组件按需补充;漏掉它,cl.exe 编译器根本不会装,连 hello world 都编译不过。
“使用C++的桌面开发”是唯一刚需工作负载
这个工作负载不是可选项,而是C++开发的启动开关。它打包了:MSVC v143 或更新的生成工具、Windows SDK(至少一个版本)、C++ 标准库头文件、调试器(C++ Debugging Tools)、CMake 支持 和 测试框架基础组件。
常见错误现象:
- 新建项目后点“本地 Windows 调试器”报错:“找不到调试器”或“无法启动程序”
- 编译时报
cl.exe not found或cannot open include file 'stdio.h' - 项目属性页里“常规 → 平台工具集”下拉为空,或只有
v142但没勾选对应 SDK
如果你只写控制台程序、Win32 应用或学习用的小项目,勾选这一项就足够启动开发。其他工作负载如“Linux 开发”“游戏开发”“移动开发”,除非你明确需要,否则别加——它们会显著拖慢安装速度并占用额外磁盘空间(每个常达 5–10GB)。
立即学习“C++免费学习笔记(深入)”;
三个值得手动勾选的单个组件
安装界面右下角有“单独组件”标签页,这里补几个高频刚需项,避免后续踩坑:
-
适用于最新v143生成工具的C++ CMake工具:不装它,VS 只能打开.sln解决方案,无法直接加载CMakeLists.txt工程;现代开源项目(如spdlog、fmt)基本都靠 CMake 构建 -
Windows 11 SDK(如果你用的是 Windows 11):某些新 API(如GetPackagePathByFullName)在旧 SDK 里不可见,编译时会报identifier not found -
C++ ATL 支持(仅当你需要开发 COM 组件或 MFC 扩展时):普通控制台或 Win32 程序不需要;误装会导致项目模板里多出一堆 ATL/MFC 向导,反而干扰新手判断
路径和磁盘空间是隐性组件
VS 安装本身不报错,但运行时崩溃、编译卡死、项目加载失败,80% 源于路径设置不当:
- 安装路径不能含中文、空格或特殊符号,例如
D:\VS2022\可行,D:\Program Files\Visual Studio或E:\我的开发环境\很可能触发 MSBuild 路径解析失败 - 务必把“共享组件”“工具集”“Windows SDK”三项路径统一指向非系统盘(如 D:),否则 C 盘爆满后,
vcxproj文件保存失败、NuGet 包还原中断、甚至 IDE 启动白屏 - 完整安装“使用C++的桌面开发”+ CMake 工具 + Win11 SDK,实际占用约 25–35GB;建议预留至少 50GB 空闲空间,否则安装中途可能静默失败且无提示
别被“Visual Studio 扩展开发”误导
这个工作负载名字听起来通用,其实只服务于两类人:
- 正在为 VS 写插件(比如自定义代码生成器、语法高亮扩展)
- 需要调试 VS 自身源码(如研究
IntelliSense实现机制)
如果你只是用 VS 写 C++ 应用程序,它完全无关。勾选后不仅多占 4GB+ 空间,还会让启动变慢、菜单变杂,而且一旦更新失败,可能导致整个 IDE 的“扩展管理器”崩溃——这种问题排查起来比编译错误还费时间。
真正容易被忽略的是:安装完成后第一次启动 VS,它会后台静默下载额外符号包和语言服务,此时如果网络不稳定或杀毒软件拦截,IntelliSense 会一直显示“正在加载”,Ctrl+点击跳转 失效,而你根本看不出哪里出了问题。建议首次启动后等 5 分钟,观察右下角状态栏是否从“正在初始化…”变为“就绪”,再开始写第一行代码。


















