
从第一次接触 Visual Studio 2019 到现在我用它跑过课程设计、做过 Windows 桌面工具、也帮同事处理过一套老项目整体感受是VS2019 不是功能最强的新版本但它绝对是最适合“从零开始学开发”的环境之一。很多教材、网课、开源项目至今仍以 2019 为默认环境尤其是 C/C、C# 以及 Python 混合开发时VS2019 的兼容性比后来几个版本都要稳。这篇教程我会把下载、安装、离线部署、环境集成、建项目、常见报错这些环节全部拆开讲尽量做到你照着做就能顺利完成安装并跑出第一个程序。1. 下载安装前先把这些想清楚1.1 从哪下载、下载哪个版本VS2019 有三个面向用户的版本Community社区版、Professional专业版、Enterprise企业版。其中 Community 是免费使用的个人开发者、学生、开源项目维护者、小规模团队都能合法免费使用这也是大多数教程选用它的原因。如果你是在公司里做商业项目且团队规模超过了社区版许可协议的上限就需要考虑 Professional 或 Enterprise。下载渠道只有一个Visual Studio 官网的“较早的下载”页面。直接在搜索引擎里搜“Visual Studio 2019 下载官网”或者在微软官网导航栏找 Downloads - Visual Studio 2019 就能进入下载页面。需要注意打开这个页面通常会要求你先登录微软账号才能看到 2019 的下载入口这是官方策略不登录就看不到旧版本下载链接遇到了就注册一个账号再操作不需要任何额外工具。下载选项里有两个东西经常让人迷糊在线安装器 vs_community.exe体积只有几 MB运行后边下载边安装。ISO 离线镜像约 5GB 左右适合局域网共享、网络不稳定、需要批量装机的场景。我的建议是如果你的网络条件正常直接用在线安装器因为 VS 的安装器很聪明它只下载你勾选的组件不会把整个 5GB 都拽下来。如果你要装多台电脑或者办公室网络慢到离谱那就下载 ISO 镜像后面我会专门说离线安装的操作。1.2 工作负载到底怎么勾选初次运行安装器时你会看到一个大面板里面密密麻麻全是选项第一次看会很懵。这里不需要害怕VS2019 的安装是把功能拆成了“工作负载”和“单个组件”两级工作负载就是“按使用场景打包好的一组功能”你只需要按项目需求勾选而不是把全部东西都装一遍。以最常见的几种使用场景为例学 C/C勾选“使用 C 的桌面开发”学 C# / WPF / WinForms勾选“.NET 桌面开发”用 Python 做数据分析或脚本开发勾选“Python 开发”要做 Web 前端或 ASP.NET勾选“ASP.NET 和 Web 开发”很多教程会建议你“能勾的全勾上”我不太推荐。全选意味着要下载几十 GB而且很多组件你用不到还容易把系统环境变量弄乱。正确做法是先勾选当前需要的后期缺什么再去安装器里补VS 的增量安装比一次性全装可靠得多。1.3 安装路径能不能改到 D 盘默认情况下VS2019 会装到 C 盘具体路径是 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community。很多人看到“Program Files (x86)”心里就犯嘀咕担心是不是 32 位程序。其实 VS2019 的安装器本身就是 32 位进程但它安装的编译器、工具链全都是 64 位的所以这个路径不用纠结。如果你不想占用 C 盘空间可以在安装器右下角的“安装位置”选项卡里修改。这里有一个很容易踩坑的地方VS 把“Visual Studio IDE”“下载缓存”“共享组件、SDK 和工具”三个部分分开了。你要改就全部改到同一个盘比如都放到 D:否则会出现一种很尴尬的情况IDE 在 D 盘但 SDK 和缓存还是留在 C 盘实际占用的空间一点没少还容易让人误以为自己已经改了路径。修改方法很简单把这三个路径都设置为 D:\Program Files\Microsoft Visual Studio\2019\Community 和 D:\vs2019cache。注意路径层级不要套太多层有些版本的安装器对中文路径支持不好尽量全用英文字符。注意安装完成后后续再增量安装组件时路径会默认沿用第一次安装的设置不用每次重复改。2. 离线安装与安装包缓存的一定要会2.1 创建离线安装包layout很多电脑环境是内网或者公司的网络管理策略禁止直接访问外网这时候在线安装器就像摆设。VS2019 官方提供的解决方案是 layout 布局缓存你可以在一台网络正常的电脑上先把安装文件下载到本地再搬到目标电脑上安装。以社区版为例在一台能联网的电脑上新建一个文件夹 D:\vs2019layout然后打开命令提示符进入 vs_community.exe 所在目录执行vs_community.exe --layout D:\vs2019layout --lang zh-CN en-US这条命令的意思是把 VS2019 Community 的安装文件和中文、英文语言包全部下载到 D:\vs2019layout 目录下。后面如果要加工作负载还可以在命令里追加参数比如vs_community.exe --layout D:\vs2019layout --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.Python--add 参数可以重复使用想装 C 桌面开发和 Python 开发就把这两条 workload 名称加上。layout 命令执行完成后D:\vs2019layout 下会有 vs_setup.exe、vs_community.exe 以及一堆文件整个文件夹体积取决于你勾选的内容一般在 10GB 左右。2.2 在目标电脑上静默安装把刚才的 layout 文件夹复制到目标电脑或者放到局域网共享盘进入文件夹找到 vs_community.exe也可能是 vs_setup.exe在管理员命令行里执行vs_community.exe --noweb --wait --quiet --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended这里的 --noweb 意思是“完全使用本地缓存不访问网络”--quiet 是静默安装如果有 UI 需求去掉 --quiet 即可。安装过程会跑几分钟到十几分钟视机器性能而定。等待期间不要强行关机如果看到任务管理器里 VS 安装器进程一直在活动就说明还没装完。我在实际部署中遇到过一个问题layout 缓存下载不完整导致装到一半突然提示“无法找到产品源”。解决办法很简单重新执行一次 layout 命令它会自动补全缺失文件不会从头下载。2.3 离线包和在线包的区别这里想多说一句很多人拿到的所谓“VS2019 离线安装包”其实是第三方重新打包的精简版体积往往只有 1~2GB。这类第三方包确实能装出一个 IDE但经常会缺组件、缺 SDK后面一编译就报错排查起来比正式安装还要痛苦。我通常不推荐用第三方精简包真要用离线方案就自己生成一个完整 layout可靠性和可控性都是最高的。3. 激活与首次启动配置3.1 社区版要不要激活Community 版安装完后第一次启动会提示你登录微软账户。登录了才能获得免费的开发许可证但产品不会被“激活”成 Pro 或 Enterprise只是保持社区版授权状态。这个登录不是强制性的你可以在“文件”-“账户设置”里后续再登录但强烈建议第一次启动就登录因为部分功能比如云设置同步、统一登录依赖微软账户。很多教程里提到的“vs2019 专业版密钥”指的是在安装 Professional 或 Enterprise 版后在“帮助”-“注册产品”里输入企业采购的许可证密钥。网上流传的所谓密钥大多是试用期延长或破解手段没有必要用也不合规。学生和独立开发者直接用社区版就够了功能在开发和调试上几乎没有缩水。3.2 首次启动的设置项第一次启动 VS2019会弹出一个“开始使用”的配置页开发设置这个非常关键。如果你学 C选“Visual C”如果学 C#选“Visual C#”。这决定了默认的快捷键方案、窗口布局和面板配置。后面也能通过“工具”-“导入和导出设置”-“重置所有设置”来切换。颜色主题默认是蓝色主题觉得刺眼可以选深色。这里不影响任何功能纯粹是个人习惯。进入 IDE 后建议先把字体调成“Consolas”字号 14~16然后用“工具”-“选项”-“文本编辑器”-“C/C”-“查看”把行号打开。写代码的时候行号就是命根子报错提示“第 67 行有问题”你找不到行号会非常崩溃。3.3 怎么确认安装是否完整一个很简单的验证方法点“文件”-“新建”-“项目”看模板列表里有没有“控制台应用”。如果能看到“控制台应用C/Windows”说明 C 工作负载装好看到“Windows 窗体应用.NET Framework”说明 .NET 桌面开发正常看到“Python 应用程序”说明 Python 开发功能就绪。模板列表里能正常显示比任何检测工具都靠谱。4. 第一次创建一个 C 项目并跑通4.1 从模板到第一个“Hello World”打开 VS2019点“创建新项目”在项目模板里选“控制台应用”语言选 C然后给项目起个名字比如 HelloVS2019。关于存储位置我一般习惯建一个专门放代码的目录比如 D:\Code而不是放在 C 盘用户目录下省得以后系统重装时代码跟着没。创建完成后程序默认会生成一段代码#include iostream int main() { std::cout Hello World!\n; return 0; }按 CtrlF5开始执行不调试就能看到控制台窗口输出 Hello World! 并停留等待按键。这里有个小细节如果按 F5开始调试运行窗口可能会一闪而过很多初学者以为是程序崩了其实是调试器运行完直接关闭了控制台。所以刚开始就记住 CtrlF5 这个快捷键。4.2 当编译报错时的排查路径第一次编译最容易碰到的报错就是“无法打开包括文件: ‘iostream’”。这个错误十有八九是因为在新建项目时选错了模板或者安装时没有勾选 C 工作负载导致编译器的头文件根本没装。这时候不要纠结代码回到 Visual Studio Installer勾选“使用 C 的桌面开发”再补装一次就解决了。还有一种情况是编译时提示“MSB802未找到 Windows SDK 版本 xxx”。这是因为新电脑上 Windows SDK 没有默认安装。进安装器的“单个组件”里搜索“Windows 10 SDK”勾选一个 10.0.19041 或更高版本重新安装即可。4.3 断点调试基础调试是 VS 系列工具最大的优势没有之一。在代码左侧灰色区域点一下会出现一个红色圆点这就是断点。按 F5 运行程序会在那个位置暂停然后按下 F10 可以逐行执行F11 可以进入函数内部。右上角“局部变量”窗口里能看到当前变量的值把鼠标悬停在变量名上也能直接看到数值。我遇到非常多的人学了两个月 C还在用“cout 输出变量”来排查逻辑错误。这个习惯要尽早改掉VS 的调试器比任何打印日志都要直观得多。哪怕你只想看一个循环跑了几次断点打在循环里看迭代变量一眼就明白了。5. 把 VS2019 和常用开发工具串起来5.1 Git 集成代码版本管理一步到位现在写代码基本离不开 GitVS2019 自带的 Git 功能已经足够日常使用不需要再单独打开命令行。首次使用前先确保机器上已经安装了 Git for Windows。打开 VS2019在“视图”-“团队资源管理器”里可以克隆 GitHub 仓库也可以直接用“文件”-“打开”-“从源代码管理打开”。首次连接 GitHub 时VS 会要求登录或者配置身份。更简单的做法是用命令行先把自己的 Git 用户名和邮箱设置好git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com然后在 VS 的“Git 更改”窗口里只要项目目录里有代码变更VS 会像文件管理器一样列出所有改动的文件。输入提交信息点“全部提交并推送”就把本地的代码推送到远端仓库了。很多新人不理解 Git 的“暂存区”概念其实人在 VS 里你只需要记住本地改完 - 提交 - 推送发布会同步到 GitHub。5.2 Python 与 Anaconda 的联动如果你要写 Python 代码VS2019 自带 Python 开发支持但默认的解释器是系统 Python如果你安装了 Anaconda 或者 MinicondaVS 也能直接识别。做法是在“视图”-“其他窗口”-“Python 环境”里把 Anaconda 的解包环境的 base 路径添加进去。用 VS2019 写 Python 最大的好处是可以在同一个项目里混合 C 和 Python对做算法的同学特别友好。平时数据分析用 pandas、numpy 可以直接在“Python 环境”窗口点“在 PowerShell 中打开”然后执行 conda install pandas装的包会进到当前环境VS 的 IntelliSense 也会自动识别新安装的库不需要手动刷新。5.3 连接 MySQL 数据库做数据开发VS2019 自带对 SQL Server 的良好支持在“视图”-“服务器资源管理器”里可以直接连接 SQL Server。但如果你用的是 MySQL需要额外安装一个插件MySQL for Visual Studio。这个插件不是 VS 自带的需要去 MySQL 官网的 Connector 页面下载。插件安装完成后在服务器资源管理器右键“数据连接”-“添加连接”数据源选 MySQL Database填上服务器地址、端口默认 3306、用户名、密码就能在 VS 里直接浏览表、写查询、甚至创建数据库。这个功能对于需要写 C# 操作 MySQL 的开发者来说调试起来比在命令行和 IDE 之间来回切方便太多了。5.4 扩展市场里的 AI 辅助编程工具现在的 AI 编程工具已经很普及了VS2019 的“扩展”-“管理扩展”里能搜到 GitHub Copilot 等智能补全插件安装后登录 GitHub 账号就可以在写代码时获得整行、整块的自动建议。如果你喜欢在终端里用 OpenAI Codex 这类 CLI 工具也可以给它配置好 API Key 后让它在 VS 自带的“终端”窗口里运行边写边让 AI 生成代码。需要提醒的是这类工具一般都需要注册服务商账号并配置密钥网络是否畅通取决于服务商的支持情况跟 VS 本身无关如果在连接时遇到问题优先检查密钥是否正确。6. 常见问题与排查技巧实录6.1 安装卡在“下载中”或“正在处理”这是离线安装和在线安装都会遇到的经典问题。第一步先确认自己的安装包是不是官方渠道下载的第二步检查磁盘空间是否充足VS2019 完整安装 C 桌面开发大概需要 8GB 左右如果 C 盘剩余空间低于 10GB安装器会异常慢甚至失败第三步是在任务管理器里看一下网络是否还在持续接收数据如果在稳定接收就安心等有时候一个组件下载要十几分钟并不是卡死。另一个常见原因是杀毒软件拦截。VS 的安装器会释放大量临时文件部分国产杀毒软件会不停扫描导致安装速度大幅下降。安装时暂时退出第三方杀毒软件可以明显改善这个问题。6.2 编译时报 MSB8041 或 LNK1104MSB8041 的提示一般是“需要为生成工具使用 MFC”这个错误发生在你装了 C 工作负载但没选 MFC 组件的时候。回到 VS Installer勾选“适用于最新 v142 生成工具的 C MFC”补装后重启 VS 就能解决。LNK1104 报“无法打开文件 xxx.lib”通常是项目里引用了外部库但库目录没有配置。右键项目 -“属性”-“VC 目录”-“库目录”把 .lib 文件所在的文件夹加进去。如果是自己写的库更省事的做法是在源文件开头写#pragma comment(lib, 你的库名.lib)这样就不需要手动配置项目属性了这个技巧在配合 freeglut 这类图形库时尤其好用。6.3 源码中的中文注释出现乱码乱码问题的根源是文件编码不一致。VS2019 默认对源文件的读取编码是系统 ANSI中文系统就是 GBK但很多新手在别的编辑器里存成了 UTF-8 无 BOM于是中文字符在 VS 里就“花”了。解决办法有两种在 VS 里打开文件后点“文件”-“高级保存选项”把编码改成“简体中文GB2312”或“Unicode (UTF-8 带签名)”然后重新保存。项目内统一约定用 UTF-8 with BOM因为 VS 对 BOM 的识别非常可靠大多数乱码问题都是因为“无 BOM UTF-8”导致的。6.4 代码编辑器里的白色主题太刺眼觉得默认主题刺眼的话可以在“工具”-“选项”-“环境”-“常规”里把颜色主题改成“深色”VS2019 的深色主题做得还算精致。字体推荐 Consolas、JetBrains Mono 或者 Cascadia Code中文注释部分会回退到微软雅黑这个不影响阅读。7. 几个高频的实战配置场景7.1 freeglut 配合 VS2019 做 OpenGL 课程作业很多计算机图形学课程还在用 freeglut OpenGL 的组合。拿到 freeglut 压缩包后里面有 include、lib、bin 三个目录。正确配置方式是把 include 里的 GL 文件夹复制到 VS 安装目录下的 VC\Tools\MSVC\版本号\include 目录里把 lib 里的 x64\freeglut.lib 复制到对应的 lib 目录把 x64\freeglut.dll 复制到项目生成的 exe 同目录。然后在项目属性里链接器 - 输入 - 附加依赖项中写入 freeglut.lib。也可以在代码里用 #pragma comment(lib, freeglut.lib) 代替这个项目作业里非常常用。7.2 用 VS2019 创建安装包Setup项目想把开发好的 WinForms 或 WPF 程序打包给同事安装VS2019 默认不支持直接创建安装包项目需要先安装扩展。在“扩展”-“管理扩展”里搜索“Microsoft Visual Studio Installer Projects”安装后重启 VS。新建项目时就能看到“其他项目类型”-“Visual Studio Installer”-“Setup Project”。创建后在文件系统编辑器里应用程序文件夹右键 -“添加”-“项目输出”选主项目的“主输出”。之后生成解决方案会在 Debug 目录下生成 setup.exe 和 .msi 文件。这个流程对分发小工具来说非常高效不需要额外安装 InstallShield 之类的重型打包工具。7.3 修改输出路径把 exe 和中间文件分开项目默认的生成输出在项目目录的 Debug/Release 文件夹下但中间文件 .obj 也在那里时间久了目录很乱。在项目属性里找到“常规”-“输出目录”设置成$(SolutionDir)bin\$(Configuration)\中间目录可以保持默认或者设置成$(SolutionDir)obj\$(Configuration)\这样 exe/dll 会统一生成到 bin 目录obj 文件只会出现在 obj 目录做版本管理时也更容易添加 .gitignore 规则。另外如果你想把最终文件重命名可以直接在“链接器”-“常规”-“输出文件”里修改 TargetPath比如 $(SolutionDir)bin$(Configuration)\MyApp.exe。这个选项里你可以看到类似 targetpath 和 outputfile 的概念理解了“输出文件”与“中间目录”的区别整个项目的目录结构就清爽了。8. 从装完到用顺最后的一点经验我自己用过 VS2015、2017、2019、2022如果只从“学习”“课程作业”“老项目维护”这些角度看VS2019 仍然是容错率最高的一个。它在模板数量、第三方库兼容性、插件稳定性之间找到了一个很好的平衡点。实际操作中我建议大家装完后做两件事第一件事是在“工具”-“选项”-“环境”-“文档”里勾选“始终显示解决方案”并且把“自定义页”设为“项目创建后显示”这能让工作区更加稳定、不会总跳回开始页第二件事是建一个全局的 .gitignore把 .vs、Debug、Release、obj 这些目录忽略掉避免把编译垃圾推到 GitHub 上。装 VS 本身不是目的用它稳定地产出代码、完成项目才是。希望这篇教程能帮你把环境搭得顺顺当当少走一些我当年踩过的弯路。如果你在安装中碰到什么怪问题欢迎对照第六节逐个排查多数情况下问题都出在组件没装全而不是程序本身有问题。