简介:这是一份VS2019安装及简单处理技巧的超详细图文教程,面向初次接触Visual Studio 2019的开发者与学生,覆盖从官网下载、安装配置到常见报错处理的完整流程。资源为1个PDF文档,体积仅1.2MB,适合离线查阅或边看边操作。目前已吸引4386人学习下载,内容兼具系统性与实用性。教程重点包括安装位置与语言包选择、首个C/C++项目的创建、x86调试环境配置、万能头文件限制说明,以及针对scanf等不安全函数报错的多字节字符集修改、SDL检查关闭等排错技巧,并特别提示彻底卸载的重要性,避免后续重装出现异常。按步骤跟随操作,可帮助读者少走弯路,快速完成VS2019环境搭建并解决日常编码中的常见问题。
1. vs2019安装最容易被低估的一点:装完不等于能用
经常有人把 vs2019 安装教程从头跟到尾,装完却发现处处不顺:新建项目里找不到 Qt 模板,源码里写几个中文一编译全是 C4819 警告,Intel Fortran 装完在“新建项目”里根本看不到 Fortran 语言,更别提微软官网如今只丢给你一个几十 MB 的引导器,点开之后才开始慢慢拉组件,一断就前功尽弃。这些其实都不算 vs2019 安装本身失败,而是没把“安装”理解成一个可配置、可缓存、可修复的过程。这篇我按自己给同事装机器、接老项目的路径,把 vs2019 安装和后续的简单处理技巧完整捋一遍:从版本选型、工作负载勾选,到产品密钥、组件增删、中文乱码和 Fortran 恢复,最后给你一条验证安装是否“真能用”的最小链路。
2. 把 vs2019 装上:安装器选型、工作负载与最小可编程配置
VS2019 的安装本质不是“解压一个大安装包”,而是引导器按照你勾选的组件清单,把编译工具、SDK、调试器、扩展一件一件下载并写入系统。理解了这一点,后面所有的安装问题都可以从“组件清单”这个角度去排查。很多人翻车,不是因为安装动作错了,而是因为装之前没想清楚要装给谁用、要用它写什么。
2.1 装前先定三件事:版本、磁盘空间和装给谁用
VS2019 分社区版、专业版、企业版三个版本。社区版对个人开发者、学生、开源贡献者是免费的,功能上除了团队协作和高级测试工具被裁剪,日常写 C++、Python、Qt 项目完全够用;专业版和企业版都是订阅制,一般出现在公司统一采购的场景里。你如果只是自己学习或者做毕业设计,选社区版就好,这也是大多数人搜“vs2019 安装教程”时默认的环境。专业版和企业版在安装时或安装后会要求登录微软账号并通过订阅激活,这时候才需要输入产品密钥,这点后面第 3 章再展开。
安装之前还需要看一眼磁盘空间。VS2019 的默认安装位置在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community,你可以在引导器里改安装路径,但 Windows SDK、组件包缓存、符号文件仍会往 C 盘写。按我装机的经验,勾上 C++ 桌面开发和 Python 开发两块工作负载,稳定占用在 25GB 到 40GB 之间,C 盘如果只有十几GB空闲,建议先腾空间,不然装到一半就会报“磁盘空间不足”,而且这个错误往往出现在下载完成、正在解压部署的阶段,前面大半天全白等。
2.2 工作负载勾选:用四个原则代替“全选”
新手拿到引导器,看到第一屏是“工作负载”列表,容易直接全选。这会让安装体积膨胀到几十上百GB,下载时间拉满,而且很多组件根本用不上。我一般按四个原则判断:
| 使用目标 | 必勾工作负载 | 说明 |
|---|---|---|
| 写 Windows 桌面 C++ 程序 | 使用 C++ 的桌面开发 | 含 MSVC v142 编译器、Windows 10 SDK、C++ 调试器 |
| 写 Python 脚本或混合开发 | Python 开发 | 含 Python 解释器调试支持、交互窗口 |
| 用 Qt 做界面 | 使用 C++ 的桌面开发 + 单个组件“C++ CMake 工具” | Qt 需要 CMake 或 qmake 配合 MSVC |
| 做 Linux 交叉开发 | 使用 C++ 的 Linux 开发 | 体积较大,按需勾选 |
VS2019 的默认生成工具集是 v142,对应 MSVC 14.2x。这一点直接关系到 Qt 版本选择:Qt 官方预编译安装包里的msvc2019_64就是给 v142 用的,如果你项目里用的是 Qt 5.12 的msvc2017_64,那工具集还得另外装 v141。所以安装时不要只盯工作负载名称,还要在“单个组件”里确认这几项是勾选状态:MSVC v142 x64/x86 生成工具、Windows 10 SDK、C++ CMake 工具。其中 Windows 10 SDK 经常被忽略,很多老项目打开后提示找不到某个具体版本的 SDK,就是因为安装时没勾上对应版本,而不是系统坏了。
2.3 首次启动后的三个顺手配置
安装完成后第一次启动 VS2019 会询问开发设置和颜色主题。这里有三件事我建议顺手做掉,能省掉后面很多别扭:第一,颜色主题选“深色”,VS2019 默认的浅色界面在长时间盯代码时疲劳感明显,位置在“工具 > 选项 > 环境 > 常规 > 颜色主题”。第二,如果你是在虚拟机里安装或者常用远程桌面连开发机,打开“工具 > 选项 > 环境 > 常规”里的“基于设备自动调整视觉体验”后,把硬件加速关掉,否则 IDE 界面会出现拖动卡顿、花屏。第三,在“扩展 > 管理扩展”里看一眼已经加载的扩展,把不认识的第三方扩展全部禁用,VS2019 启动慢的元凶九成是扩展,不是 IDE 本身。
3. 装完先处理这四件事:密钥、组件增删、Qt 编码和 Fortran
VS2019 安装完成只是第一步。如果是奔着 Qt 界面开发、Fortran 老项目迁移去的,装完的 VS2019 其实只完成了一半——默认工作负载里不带 Qt 集成,也不带 Intel Fortran 编译器适配。这里说的“简单处理技巧”,指的就是装完之后高频遇到的那几个固定位置:产品密钥、组件修改、中文编码、编译工具缺失。
3.1 vs2019 产品密钥:什么时候要填、从哪填
很多人搜“vs2019 产品密钥”,其实是装了专业版或企业版之后被激活界面卡住了。先说结论:社区版不需要产品密钥,安装时直接跳过登录和激活,不影响编译;专业版/企业版是在“文件 > 账户设置”里登录微软账号完成激活的,如果登录后仍提示需要密钥,去“帮助 > 注册产品”里录入。这个入口容易被忽略,因为它在“帮助”菜单下,而不是“文件”菜单里。需要注意,网上能搜到的所谓 VS2019 通用密钥绝大多数是无效的,不要浪费时间,要么用社区版,要么走正规订阅试用。
安装引导器第一屏也会问“你是否已有产品密钥”,这个位置可以选择跳过,安装完成后再在 IDE 里补录,效果一样。我见过有人装到一半发现要密钥,直接关掉引导器整个重来,其实完全没必要。
3.2 增删组件是修改不是重装,路径写在引导器里
VS2019 安装完发现少了 CMake 工具或某个 SDK,不需要卸载重装。正确做法是打开“Visual Studio Installer”——安装完成后它在开始菜单里独立存在,也可以在 VS2019 的“工具 > 获取工具和功能”里拉起——点“修改”,重新勾选工作负载或单个组件,再点“修改”按钮。这个过程是增量式的:引导器比对现有组件清单和新的清单,只下载差异部分,不会动你已经装好的代码和配置。老项目容易中招的是“Windows SDK 版本不匹配”,比如项目要求10.0.18362,机器上只装了10.0.19041,此时不用重装 VS,在安装器里找到对应版本的 SDK 组件勾上更新一下即可。
再进一步,如果机器处于内网隔离环境,或者想在多台机器上用同一套组件配置,可以用引导器生成离线安装包缓存。这是 VS2019 安装里非常实用但网上很少有人讲清的命令行用法:
# 生成 VS2019 离线安装包缓存,供同一内网机器复用 "vs_Community.exe" --layout D:\vs2019_offline --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.Python --includeRecommended # 使用缓存静默安装或追加组件 "vs_Community.exe" --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community" --add Microsoft.VisualStudio.Component.Windows10SDK.18362 --quiet --norestart第一条命令里的--layout是生成缓存目录的关键参数,D:\vs2019_offline要是一个已经存在的空目录,引导器会把所有组件包按 ID 结构下载到里面;--add指定要缓存的组件 ID,--includeRecommended表示把工作负载下的推荐组件一并拉取,否则缓存不完整。第二条命令是真正执行安装时用的:--installPath指向 VS2019 的安装目录,--add追加组件,--quiet静默安装,--norestart禁止安装完成后自动重启。组件 ID 不用死记,在安装器“单个组件”面板里能看到每一项的 ID,也可以用引导器的--list参数查询。
3.3 Qt 与 VS2019 版本匹配,以及中文乱码的固定解法
VS2019 对 Qt 的版本匹配是新手踩坑重灾区。VS2019 默认工具集 v142 对应 Qt 5.15 的msvc2019_64预编译包,这是最顺的组合。如果你用的是 Qt 5.12,它官方只提供msvc2017_64,在 VS2019 里直接编译会报“找不到 MSVC v141 工具集”。解决办法是在 VS2019 安装器的“单个组件”里补勾“MSVC v141 生成工具”,这样同一个 VS2019 就能同时编译 v141 和 v142 两个工具集的项目,Qt 5.12 和 Qt 5.15 都能用。Qt 6 则要求 MSVC2019 起步,VS2019 完全支持,不需要额外动作。
中文乱码是另一个固定问题,现象是源码用 UTF-8 保存,VS2019 编译时提示 C4819 警告,或者运行后控制台输出一片乱码。原因是 MSVC 默认按系统本地代码页解读源文件,中文 Windows 下通常是 GBK,和 UTF-8 编码的源文件对不上。固定解法按优先级是这样:
| 方案 | 操作 | 适用场景 |
|---|---|---|
| 项目加 /utf-8 参数 | 项目属性 > C/C++ > 命令行 > 附加选项,填入/utf-8 | 所有新项目 |
| 源文件存为 UTF-8 带 BOM | 文件 > 另存为 > 编码保存 > UTF-8 带签名 | 单个文件快速修复 |
| CMake 里统一设置 | target_compile_options(... PRIVATE /utf-8) | CMake 工程 |
| 运行期控制台输出 | 代码开头调用SetConsoleOutputCP(CP_UTF8) | 已编译程序的显示层 |
这里最推荐第一种,在 VS2019 项目属性里加/utf-8等价于同时设置/source-charset:utf-8和/execution-charset:utf-8,告诉编译器源文件是 UTF-8,可执行文件里的字符串也要转成 UTF-8。注意/utf-8是 MSVC 专用选项,GCC/Clang 不认识,所以跨平台 CMake 工程里要放在 MSVC 条件分支里,否则 Linux 编译会直接报未知选项。
3.4 Intel Fortran 2020/oneAPI:找不到 Fortran 语言时怎么恢复
装了 Intel Parallel Studio XE 2020 或 Intel oneAPI HPC Toolkit 之后,VS2019 的新建项目里看不到 Fortran 模板,这是非常典型的问题。现象不是 VS2019 崩溃,也不是 Intel 编译器没装上,而是两者的集成组件没有写进 VS2019 的扩展注册表。原因多半有两个:安装 Intel 时 VS2019 还开着,集成组件写注册表失败;或者安装 Intel 时用了默认安装,没勾选“集成 Visual Studio”选项。
恢复不一定要卸载 VS2019 或者卸载整个 Intel 工具链。先打开 Windows“添加或删除程序”,找到对应的 Intel oneAPI 工具包,选择“修改”,把“Visual Studio 集成”相关的组件勾上,然后以管理员身份执行修复。修复完成后打开 VS2019,去“扩展 > 管理扩展”,确认“Intel 编译工具扩展”处于启用状态。如果扩展被禁用了,启用后重启 IDE 即可。关键预防动作就一条:装 Intel Fortran 之前,先完全退出 VS2019。这也是为什么官方安装文档里总是强调“关闭所有 Visual Studio 实例”,不是形式主义。
4. 避坑:vs2019 安装中五个反复把新手放倒的现场
安装类问题有个特点:报错文案不统一,网上搜出来的对策千奇百怪。这里我把 VS2019 安装里碰到最多的五类现场拆开写,每条按“现象 -> 原因 -> 解决”的路径给结论,避免你看到报错后瞎试。
4.1 官方只给引导器不给完整安装包:离线安装包缓存怎么做
现象:从微软官网渠道拿到的 VS2019 安装文件只有几十MB,双击后就开始连接网络拉组件,如果你想要一个完整的离线安装包,找不到入口。原因是 VS2019 从这一代开始组件化交付,官方默认只提供引导器,完整组件按需动态下载。解决:用前面 3.2 节的--layout命令自己生成离线安装包缓存。要提醒的是,--layout生成的缓存目录体积可能比实际安装后更大,因为里面保留了所有语言包和可选组件;拷贝到内网机器时要保持目录结构完整,不能只复制其中几个文件夹。缓存目录最好放在 D 盘或移动硬盘,不要放 C 盘,否则等于没省空间。
4.2 下载到一半失败:不要反复“重试”,先看缓存与校验
现象:安装进度条走到 40% 左右卡住,等待几分钟后弹窗提示下载失败,点“重试”还是从 40% 开始,反复几次都在同一个位置失败。原因是引导器下载的组件包出现校验失败,或者安全软件把正在下载的 .cab/.msi 文件当风险文件隔离了。解决:先别点重试,去%TEMP%目录下找到dd_setup_*.log日志,搜索error关键字,基本能看到是哪个组件包校验失败。然后把%TEMP%下残留的 VS 下载缓存删掉,临时关闭安全软件的实时防护,再重新运行引导器。如果还是同一个位置失败,改用 3.2 节的--layout先把组件缓存完整拉到本地,再执行本地安装,下载过程中不要动网络。
4.3 安装进度卡在 99% 或提示安装包校验失败
现象:组件都已经下载完,进度条走到 99%,界面卡住不动,过一会儿报“安装包已损坏”或“安装未成功”。原因:VS2019 安装到最后阶段要做组件注册和符号缓存,这一步最容易被杀毒软件锁文件,或者 Windows Installer 服务异常中断。解决:打开“服务”管理界面,确认Windows Installer服务处于启动状态;然后以管理员身份重新运行安装引导器,选择“修复”而不是“卸载重装”。VS2019 的“修复”是增量校验现有安装目录,比卸载后重新下载快很多。如果修复仍然失败,去%TEMP%下找最新的dd_installer_*.log,重点看最后 50 行里的MSI (s) ...记录,它会明确走到哪个 MSI 包时报错,据此单独处理那个组件。
4.4 重装系统后项目打不开、LNK1104 找不到 VCLib
现象:Windows 重装后打开以前的项目,VS2019 提示“平台工具集 v142 未正确安装”,编译链接时报LNK1104: cannot open file "VCRUNTIME.lib"。原因:项目配置里指定的 MSVC 编译器组件和 Windows SDK 在新系统上没有对应安装。解决:在 Visual Studio Installer 里点“修改”,确认“MSVC v142 生成工具”和“Windows 10 SDK”都在勾选状态;然后在项目上右键“属性 > 配置属性 > 常规”,检查“平台工具集”是否为Visual Studio 2019 (v142)、“Windows SDK 版本”是否为已安装的版本。很多老项目从 VS2017 迁移过来,工具集写的是v141,如果你不想装 v141,直接改成 v142 重新编译即可,代码基本兼容;反之,如果项目必须用 v141,则需要在安装器“单个组件”里补装MSVC v141 生成工具。
4.5 安装完启动极慢、控制台中文乱码:先查扩展和代码页
现象:VS2019 安装成功,但双击图标后要转几十秒才进入界面;写个小程序运行,控制台里中文显示乱码。原因:启动慢通常是装过多个第三方扩展,每个扩展在 IDE 启动时都要加载;中文乱码则是编译器编码和运行控制台代码页不匹配。解决:在“扩展 > 管理扩展”里禁用所有非必要扩展,重启 IDE;确定是编译器编码问题就按 3.3 节的/utf-8方案处理;如果程序输出到控制台仍乱码,在程序入口加SetConsoleOutputCP(CP_UTF8)。判断是不是扩展拖慢启动,可以直接在命令行跑devenv /safemode,如果进入速度明显变快,基本可以确定是第三方扩展的问题。
5. 把 vs2019 当工作台:Python、Git 与命令行工具链一步配齐
VS2019 在许多人手里不是主力编辑器,而是一个“编译器入口”:用 IDE 写 C++ 会打开 Qt 工程师,写 Python 会打开 PyCharm,但 VS2019 作为最底层的 MSVC 工具链,仍然是 Windows 上很多构建体系的根基。所以这一章说安装之后最值得配的几个周边:Python 解释器绑定、Git 集成、开发人员命令提示符。这些都不需要额外装重量级软件,VS2019 自己带了一整套。
5.1 Python 工作负载与解释器绑定
如果在安装时勾选了“Python 开发”工作负载,VS2019 会自带 Python 调试器、交互窗口和模板支持。安装后打开“工具 > Python > Python 环境”,能看到 VS2019 自动发现的本机解释器;如果机器上已经装有 Anaconda 或系统 Python,可以点“添加环境”手动指向解释器路径,不需要重新安装解释器。这一点很多人会误解,以为必须在 VS2019 里创建虚拟环境,其实 VS2019 只是把现有 Python 解释器接进来,省得在多个 IDE 之间切换解释器版本造成混乱。
实际写 Python 的时候,直接“文件 > 新建 > Python 应用程序”,在代码里写print("hello vs2019"),按 F5 就能在 VS2019 的交互窗口里看到输出,调试断点也能命中。和 PyCharm 相比少了包管理面板的重度集成,但日常脚本和调用 C++ 扩展的场景完全够用。
5.2 Git 集成:IDE 菜单里的团队操作
VS2019 自带 Git 集成,不需要在编辑器和命令行之间来回切。打开“视图 > 团队资源管理器”,在“管理连接”里选择“克隆存储库”,填入 Git 仓库地址和本地目录,VS2019 会自动完成克隆。日常的提交、拉取、推送都在顶部“Git”菜单里完成,分支切换在右下角状态栏点一下就行。首次提交时会要求配置user.name和user.email,在“选项 > 源代码管理 > Git 全局设置”里填写,这和命令行git config --global写的配置文件是同一份。
如果你习惯在外部安装 Git for Windows 并在命令行里操作,VS2019 也能自动识别外部 Git 的安装路径。唯一的注意点是:不要在 VS2019 的 Git 设置里同时启用“强制推送”之类的危险策略,日常开发用默认配置就好。
5.3 开发人员命令提示符:cl、cmake、nmake 的正确入口
Windows 命令行里直接敲cl经常提示“不是内部或外部命令”,是因为 VS2019 没有把 MSVC 路径写进系统 PATH。这其实是刻意设计:MSVC 的 INCLUDE、LIB、PATH 环境变量需要组合成一套,全局污染 PATH 会影响其他工具链。正确做法是用 VS2019 自带的“开发人员命令提示符”。
安装完成后在开始菜单里能找到“x64 Native Tools Command Prompt for VS 2019”,打开后已经帮你设置好了全部环境变量。验证命令如下:
where cl cl /std:c++17 hello.cpp hello.exewhere cl用于确认编译器路径能被找到;cl /std:c++17 hello.cpp会把hello.cpp编译成hello.exe;如果不加/std:c++17,MSVC 默认以 C++14 模式编译,很多新语法会报错。需要强调的是:CMake 项目要指定 VS2019 生成器时,用的是-G "Visual Studio 16 2019",对应 VS2019 的内部版本号 16.x;如果命令里写 17 或 15,CMake 会找不到匹配的 VS 实例,创建解决方案失败。
5.4 扩展管理:别一次装一堆再重启
VS2019 的扩展体系把功能做到了灵活,但也带来了启动变慢、相互冲突的问题。我处理过的多数 IDE 异常都和扩展有关,建议“扩展 > 管理扩展”里一次只装一个,装完重启确认正常再装下一个。扩展不是装得越多越好,主题类、代码统计类的扩展能省则省。真要调试某个扩展导致的问题,用devenv /safemode启动禁用全部第三方扩展,确认环境正常后再逐项启用。
6. 装完验证三步:跑通最小 C++ 工程才算数
安装是否成功,不看引导器那个“安装成功”的绿勾,要看最小链路能不能跑通。我每次装完 VS2019 都会新建一个控制台项目,用下面这份代码做验收:
#include <iostream> #include <string> int main() { std::string msg = "hello vs2019"; std::cout << msg << std::endl; return 0; }操作路径是:新建项目时选“控制台应用”,语言选 C++,项目名字随意;把代码粘贴进去,点 F5。合格标准有两条:第一,不弹“无法启动程序”,编译过程没有红色报错;第二,运行出的黑色控制台窗口里能看到hello vs2019。如果代码里带中文,比如std::string msg = "你好,vs2019";,要确保输出不乱码,使用的就是 3.3 节里的/utf-8设置。这个项目跑通,说明 MSVC 编译器、链接器、调试器、Windows SDK 这一条主链路是完整的。
第二步是验证命令行工具链。打开“x64 Native Tools Command Prompt for VS 2019”,执行cl,应该能看到Microsoft (R) C/C++ Optimizing Compiler Version 19.x的输出,版本号 19 开头说明是 VS2019 的 v142 工具集。再执行cmake --version,确认 CMake 组件也在。如果你还要接 Qt,打开“扩展 > Qt vs Tools > Qt Versions”,把 Qt 5.15 的msvc2019_64路径填进去后,建一个 Qt Widgets 空项目编译运行,如果界面能弹出来,Qt 集成才算真正连上。
我现在的习惯是装完任何工具链先跑一遍这三项,跑不过就不开始写业务代码。原因很简单:VS2019 是组件式安装,日志和注册状态都藏在黑匣子里,你猜不出它缺什么,只有跑一次最小工程暴露真实问题。这个习惯帮我少走了很多弯路,希望帮到你。
本文还有配套的精品资源,点击获取