Visual Studio 中的 C++ 开发概述

作为 Visual Studio 集成开发环境 (IDE) 的一部分,Microsoft C++ (MSVC) 共享许多与其他语言相同的窗口和工具。 其中许多窗口和工具(包括“解决方案资源管理器”、“代码编辑器”和“调试器”)都记录在 Visual Studio IDE 下 。 通常情况下,相比为其他语言提供的功能集,共享的工具或窗口为 C++ 提供的功能集略有不同。 一些窗口或工具仅在 Visual Studio Professional 或 Visual Studio Enterprise 版本中可用。

除了 Visual Studio IDE 中的共享工具之外,MSVC 还有几种专门用于本机代码开发的工具。 这些工具也会在本文中列出。 有关每个版本的 Visual Studio 可用的工具列表,请参阅 Visual Studio 版本中的 C++ 工具和功能

创建项目

项目基本上就是一组内置于可执行程序或库中的源代码文件和资源(例如图像或数据文件)。

Visual Studio 可支持要使用的任何项目系统或自定义生成工具,且完全支持 IntelliSense、浏览和调试:

  • MSBuild 是 Visual Studio 的本机项目系统。 从主菜单中选择“文件” >“新建” >“项目” 时,你可以看到多种 MSBuild 项目模板 ,可帮助你快速开始开发不同类型的 C++ 应用程序。

    Screenshot of the Create a new Project dialog showing new project templates.

    Screenshot of the New Project dialog showing project templates.

    一般情况下,除非使用现有的 CMake 项目,或使用其他项目系统,否则应将这些模板用于新项目。 有关详细信息,请参阅创建和管理基于 MSBuild 的项目

  • CMake 是一个跨平台生成系统,在安装使用 C++ 的桌面开发负载时集成在 Visual Studio IDE 中。 可将 CMake 项目模板用于新项目,或直接打开包含 CMakeLists.txt 文件的文件夹。 有关详细信息,请参阅 Visual Studio 中的 CMake 项目

  • 通过“打开文件夹”功能,支持任何其他 C++ 生成系统,包括松散的文件集合。 创建简单的 JSON 文件来调用生成程序并配置调试会话。 有关详细信息,请参阅 C++ 的“打开文件夹”项目

添加到源控件

通过源控件,可让你协调多个开发人员的工作,将正在进行中的工作与生产代码隔离并备份源代码。 Visual Studio 通过其“团队资源管理器”窗口支持 Git 和 Team Foundation 版本控制 (TFVC)

Screenshot of the Team Explorer window in Visual Studio 2019.

Screenshot of the Team Explorer window in Visual Studio 2017.

有关 Azure 中 Git 与存储库集成的详细信息,请参阅与 Azure Repos 和 Visual Studio 共享代码。 有关 Git 与 GitHub 集成的信息,请参阅Visual Studio 和 GitHub:结合使用效果更佳

获取库

使用 vcpkg 包管理器获取并安装第三方库。 目录中当前提供超过 1700 个开源库包。

使用设计器创建用户界面

如果你的程序包含用户界面,则可以使用设计器为其快速填充按钮和列表框等控件。 从工具箱窗口拖动控件并将其放到设计图面上时,Visual Studio 会生成使其正常运行所需的资源和代码。 然后,你编写代码来自定义外观和行为。

Screenshot of the Designer and Toolbox windows.

有关设计通用 Windows 平台应用用户界面的详细信息,请参阅设计和 UI

有关为 MFC 应用程序创建用户界面的详细信息,请参阅 MFC 桌面应用程序。 有关 Win32 Windows 程序的信息,请参阅 Windows 桌面应用程序

编写代码

创建项目后,所有项目文件将都显示在“解决方案资源管理器”窗口中 。 ( 解决方案是用于一个或多个相关项目的逻辑容器。)单击解决方案资源管理器中的 .h 或 .cpp 文件时,该文件将在代码编辑器中打开 。

Screenshot of the Solution Explorer and code editor windows.

代码编辑器是专用于 C++ 源代码的字处理器。 它会以不同的颜色标记语言关键字、方法和变量名以及代码的其他元素,使代码更具可读性且更易于理解。 它还提供用于重构代码、在不同文件之间导航以及理解代码结构的工具。 有关详细信息,请参阅编写和重构代码

添加和编辑资源

Windows 程序或 DLL 通常会包括一些资源,例如对话框、图标、图像、可本地化的字符串、初始屏幕、数据库连接字符串或任意数据 。 Visual Studio 包括用于添加和编辑资源的工具。 有关详细信息,请参阅使用资源文件

要编译和链接项目,请在菜单栏选择“生成”>“生成解决方案”,或按组合键 Ctrl+Shift+B 。 将在“错误列表”中报告生成错误和警告(Ctrl+\、Ctrl+E)。 “输出”窗口 (Alt+2) 显示生成过程的相关信息 。

Screenshot of the Output Window and Error List.

有关配置生成的详细信息,请参阅使用项目属性项目与生成系统

还可以直接从命令行使用编译器 (cl.exe) 和许多其他与生成相关的独立工具(如 NMAKE 和 LIB)。 有关详细信息,请参阅在命令行上生成 C/C++ 代码以及 C/C++ 生成参考

调试

你可以通过按 F5 键开始调试。 执行会在你设置的任何断点暂停(按 F9) 。 你也可以一次一行地逐步执行代码 (F10)、查看变量或寄存器的值,某些情况下甚至可在代码中进行更改并继续调试,而无需重新编译。 下图显示了一个在断点处停止执行的调试会话。 数据结构成员的值显示在“监视窗口”中 。

Screenshot of a debugging session.

有关详细信息,请参阅使用 Visual Studio 进行调试

测试

Visual Studio 包含适用于 C++ 的 Microsoft 单元测试框架,以及对 Boost.Test、Google Test 和 CTest 的支持。 从“测试资源管理器”窗口运行测试 :

Screenshot showing Test Explorer.

有关详细信息,请参阅使用单元测试验证代码在 Visual Studio 中为 C/C++ 编写单元测试

分析

Visual Studio 包含可以在源代码中检测潜在问题的静态代码分析工具。 这些工具包括 C++ Core Guidelines 规则检查器的实现。 有关详细信息,请参阅 C/C++ 代码分析概述

部署已完成的应用程序

你可以通过 Microsoft Store 将传统桌面应用程序和 UWP 应用部署到客户。 将在后台自动处理 CRT 的部署。 有关详细信息,请参阅发布 Windows 应用和游戏

你还可以将本机 C++ 桌面部署到其他计算机。 有关详细信息,请参阅部署桌面应用程序

有关部署 C++/CLI 程序的详细信息,请参阅面向开发人员的部署指南

后续步骤

查看下述一篇介绍性的文章,进一步了解 Visual Studio: