用VisualStudio开始C和C++开发

你是Visual Studio的新手,还是C++的新手?那你来对地方了。无论你是一个写了第一个程序的学生还是一个经验丰富的C++开发人员,你都会发现VisualStudio是C++开发的强大环境。visualstudio是一个IDE,它包含了许多功能,从代码浏览、着色和导航,到符号的自动完成,一个内置的编译器和生成系统,一个顶级的调试器,以及内置的测试和代码分析工具。我们从头到尾介绍了您,从代码开始到持续集成管理,当然这意味着还有很多东西要学。这篇博文详细介绍了一些基本知识,让你开始学习。您将只看到VisualStudio提供的强大工具的一小部分,但是如果您想了解更多,您应该单击本文中的链接。

null

这篇博文介绍了以下概念:

  1. 设置Visual Studio
  2. 打开代码的项目或文件夹
  3. 构建应用程序
  4. 代码编辑和导航
  5. 调试和诊断问题
  6. 测试
  7. 与团队合作
  8. 其他主题
  9. 结论

设置Visual Studio

visualstudio发布了 Visual Studio 2017年 . 有很多版本的产品,但一般来说,你应该总是选择最新的一个。这将允许您使用最新和最好的特性,包括最新的编译器。您还将受益于最近的错误修复和性能改进。

Visual Studio有三种不同的版本: 社区 , 专业的 ,和 企业 . 这个 社区版 对小型企业、开源项目、学术研究和课堂学习环境完全免费。如果您没有资格获得社区许可证,可以购买专业版。如果您为一家大型企业工作,或者只是希望visualstudio提供最好的产品,那么您应该考虑使用enterpriseedition。你可以 比较产品 如果您不确定,请访问Visual Studio网站。本指南适用于所有版本。

下载最新的Visual Studio

下载安装程序后,运行它。VisualStudio允许您选择 工作量 你想要安装,只选择你想要的组件,没有你不想要的。下面的工作负载在C++的伞下:

Desktop Workload Icon 用C++开发桌面 提供构建和调试经典桌面应用程序所需的工具。这包括经典的Win32控制台应用程序。
Mobile Workload Icon 用C++开发手机 包括针对Android和iOS所需的工具。
Game Workload Icon 用C++开发游戏 使您能够快速轻松地开始使用DirectX、Unreal Engine或Cocos2d构建游戏。
Linux Workload Icon 用C++开发Linux 开发和调试Linux应用程序所需的所有工具。
UWP Workload Icon 通用Windows平台开发 这个工作负载并不是C++的特定,但是您可以通过检查C++“UWP支持”的各个组件来支持C++。

对于其他语言(如C#)和其他平台(如microsoftazure),还有各种其他工作负载(满足您的云需求)。您安装的工作负载不是永久性的,您可以通过打开安装程序并选择 修改 .

在本指南中,请安装具有C++工作负载的桌面开发。 Installer Workloads

选择并单击 安装 ,Visual Studio将开始安装过程。一旦完成,visualstudio就已经全部设置好,可以开始了!

现在让我们看一个实际的项目。在下一节中,如果您在任何时候都找不到要查找的功能或命令,可以通过 快速启动 ,IDE右上角的搜索框(或按 Ctrl+Q键 快速到达那里)。

下载演示项目

打开代码的项目或文件夹

如果在Windows文件资源管理器中打开demo项目文件夹,除了一些源代码外,还可以找到各种不同的文件。通常,由visualstudio组织的代码显示为一个解决方案,其中包含一组项目。以这种方式组织代码库时,它包括 sln先生 文件(配置解决方案)以及 vcxproj先生 文件(配置每个项目);这些文件有助于定义include路径、编译器设置以及项目的连接方式。

VisualStudio还支持 打开文件夹模式 从VisualStudio2017开始,它取消了.sln和.vcxproj文件,允许您作为用户独立配置自己的环境。这种方法非常适合从各种不同ide或编辑器运行的跨平台项目。更好的是,如果您是CMake用户,那么在visualstudio 2017中 内置CMake体验 . 本指南不涉及打开的文件夹或CMake,但鼓励您查看本段中链接的相关博客文章以获取更多信息。

打开 演示应用程序 ,双击 sln先生 文件,或从Visual Studio转到 文件>打开>项目/解决方案… 并导航到适当的解决方案。

打开项目后,项目中内容的视图将显示在 解决方案管理器 ,如下图所示: Solution Explorer Window 也可以通过转到 文件>新建>项目… 选择合适的模板。控制台应用程序正在运行 Visual C++ +win32 .

构建应用程序

VisualStudio与VisualC++编译器紧密结合,这使得构建和调试C++应用程序变得容易。在标准工具栏的IDE顶部附近,有一些下拉列表,您可以在其中更改构建配置和体系结构。您还可以根据需要轻松添加更多配置。对于本练习,可以保留默认设置 调试 x86个 . Project Configuration 尝试通过转到 构建>构建解决方案 (或者按 F7层 ). 由于代码包含错误,生成将失败。 这个 输出窗口 是一个宝贵的工具,而你正在建设;它提供有关生成状态的信息。 Output Window

修复编译器错误

您应该看到 错误列表 当您尝试构建时显示在屏幕底部。有了这个错误,您不仅可以得到问题的位置和描述,而且如果您双击该行,您将被带到代码中的特定位置。这使得快速导航到问题区域变得容易。

在构建后双击错误,并修复有问题的代码行。

代码编辑和导航

本节简要介绍了在VisualStudio中可能实现的功能。欲了解更多有关该地区的信息,请访问 Visual Studio中的C++代码编辑与导航 博客文章。

智能感知

帮助您在visualstudio中快速编写代码的最有用的特性之一是 智能感知 ,这是一个上下文感知的代码完成工具。当您键入时,visualstudio将建议类、方法、对象、代码段和更多与您迄今为止键入的内容和键入位置相关的符号。您可以使用 方向键 ,并用 标签 .

在main函数中,尝试向 再会 函数到 迈索尔特 对象。你应该看看 智能感知 弹出所有可能的功能可从 分拣机 班级。 IntelliSense

为了有效地编写和理解代码,简单的代码导航是必不可少的。通过使用 特征 (Ctrl+T) 你可以快速到达你需要去的地方,而不用把手从键盘上拿开。打开对话框时,可以通过单击所需的按钮或使用特定令牌启动查询来筛选结果。例如,可以通过打开 “对话和键入” f ”. 访问此对话框的另一种常见方法是转到特定的行号;您可以通过打开菜单并使用“:”标记或按 Ctrl+G键 . 尝试使用 浏览演示项目。

使用 菜单 (Ctrl+T) 打开文件 分拣机.h 通过键入“ f分拣机.h ”.使用 Ctrl+G键 要转到的快捷方式 第23行 “更改私人成员” 名称 “以你的名义。 Go To

查看/转到定义

有时,找出函数或对象在代码库中的定义位置可能很困难。这个问题在visualstudio中很容易解决,在这里您可以很容易地查看定义。在演示项目中,选择要查看的函数,然后按 Alt+F12键 ,或从右键单击菜单中选择它。这将显示定义函数的文件的预览,您可以在其中快速进行小的编辑。按 电子稳定控制系统 关闭预览窗口。您也可以直接按定义 12层 .

使用 Peek定义 印刷矢量 通过选择功能并按 Alt+F12键 .

打印时在矢量中的数字之间加一个破折号。 Peek Definition Window

重命名

您还可以使用visualstudio重构现有代码。在这个演示项目中,有一个函数的名称是无用的。选择其中一个函数并按,而不是转到每个文件手动更改每个事件的名称 Ctrl+R,Ctrl+R 或者右键单击它并选择 重命名 . 这将打开一个菜单,您可以在其中选择要重命名的内容,然后在提交更改之前预览更改。

使用重命名 (Ctrl+R,Ctrl+R) “改变方法” 愚蠢的称呼功能 更有用的东西,例如 招呼 ”. Rename Refactoring Operation

调试和诊断问题

一旦成功构建应用程序并轻松编写代码,下一步通常是调试应用程序。调试可能是一个复杂的过程,visualstudio提供了许多强大的工具来提供帮助。最常用的调试工具是 断点 ,让我们从这个开始。如果单击代码左侧的栏,则会出现一个红色圆圈。如果单击圆,断点将被删除。 Breakpoint 当设置断点并且程序到达该执行点时,它将停止,允许您检查变量和程序的当前状态。

在上放置断点 第33行 属于 演示应用程序.cpp 通过单击行号左侧的栏。

再次单击红色圆圈以删除断点。 Start Debugging 要开始调试,可以按IDE顶部的绿色箭头或按 F5级 . 一旦程序停止在 断点 ,您可以做很多事情来帮助您诊断问题。找到问题的最佳方法之一是了解程序的当前状态,而不是它应该是什么。这可以通过使用 自动窗口 ,其中列出了最近使用的变量及其值。也可以将鼠标悬停在变量上以查看当前值。

执行以下操作:

  1. 在上放置断点 第14行 主要的 功能。
  2. 单击IDE顶部的绿色箭头或按 F5级 开始调试。
  3. 找出 试验 在通过将鼠标悬停在代码中的值上进行初始化之前。
  4. 看看你的价值 试验 自动窗口 .
  5. 按绿色箭头或 F5级 再次停止调试。

Breakpoint Stop Autos Window 当您充分了解程序的当前状态后,可以按绿色箭头按钮或 F5级 再次让程序运行到下一个断点。如果需要,您也可以使用顶部的箭头一次单步执行一行程序。 Stepping 跨过 (10层) 将运行当前行上的任何内容,并在函数返回后暂停执行。 踏入 (11层) 将跟随下一行的函数调用,允许您查看该函数内部发生的事情。任何时候,你都可以出去 (Shift+F11) ,它将在程序完成当前功能范围后放置程序。调试完成后,可以运行程序直至完成,或按红色方框(或) Shift+F5键 )在IDE的顶部停止调试会话。

结合使用这些工具来探索演示项目,看看是否可以修复排序算法中的逻辑错误(提示:它在排序算法本身中)。

visualstudio中还有许多工具可以帮助您分析和调试应用程序。查看 C++调试与诊断 博文了解更多。

测试

visualstudio有一个内置的测试框架来帮助您对项目进行单元测试,确保您编写的代码按预期工作。要测试demo项目(这是一个本机控制台应用程序),可以添加 本机单元测试项目 解决方案。

将测试项目添加到演示中。这是通过 文件>新建>项目 然后选择 Visual C++ >测试>本地单元测试项目 . 一定要选择 添加到解决方案 解决方案下拉列表中的选项。您也可以在中的解决方案名称上单击鼠标右键 解决方案管理器 然后选择 添加>新建项目 完成同样的任务。 Create Test Project 一旦添加了单元测试,就可以打开 .cpp文件 文件并查看模板中的基本测试框架,然后开始添加测试。

添加一个测试方法,确保它会通过。请尝试以下代码: TEST_METHOD(TestMethod1) { Assert::AreEqual(1,1); } Writing An Assert 添加测试后,可以通过转到 测试>运行>所有测试 在IDE顶部的菜单中。运行测试后,您将在 测试资源管理器 窗户。

通过转到 测试>运行>所有测试 . 尝试添加另一个将失败的测试,然后再次运行测试。 Test Explorer Window 如果您想了解有关单元测试的更多信息,包括如何将测试项目连接到被测代码,并检查单元测试的代码覆盖率,请查看 VisualStudio中的C++单元测试 博客文章。

与团队合作

如今,与团队一起工作是非常常见的,visualstudio使与其他人的协作变得很容易!您可以使用 吉特 Team Foundation服务器 管理你的代码库。要为项目创建新回购,请单击 添加到源代码管理 按钮,并将打开的项目添加到您选择的源代码管理系统中。 Add to Source Control 一旦你这样做了,一个本地存储库将为你的项目。从这里您可以进行提交,或将更改推送到远程服务器 吉特 服务,如GitHub。这一切都是由政府管理的 团队资源管理器 窗户。 Team Explorer Window

尝试将演示项目添加到源代码管理中,并将其推送到GitHub。按 添加到源代码管理 按钮,然后按到 团队资源管理器 .

您还可以非常轻松地从 团队资源管理器 窗户。选择 项目>新建存储库 ,然后按照提示克隆项目。从这里开始,您所要做的就是粘贴到URL中,项目将被克隆。 Clone Project Clone Project 要了解有关在VisualStudio中以团队形式处理项目的更多信息,请查看 C++开发团队的VisualStudio 博客文章。

其他主题

visualstudio还可以做许多其他有用的事情。这么多东西,其实很难在一本指南中全部涵盖。按照下面的链接了解有关如何充分利用VisualStudio的更多信息。

代码分析

visualstudio在默认情况下捕获了很多代码问题,但是 代码分析 该工具通常可以发现通常会遗漏的难以发现的问题。报告的常见错误包括缓冲区溢出、未初始化内存、空指针取消引用以及内存和资源泄漏。此功能内置于IDE中,可以轻松地帮助您编写更好的代码。去医院试试吧 分析 菜单和选择 在解决方案上运行代码分析> . 进一步了解 代码分析 以及C++核心指南检查程序 公告博客帖子 .

图书馆采访

C++中的图书馆获取可能是具有挑战性的。而VisualStudio支持 努吉 包管理,最近一个叫做 vcpkg公司 已启动。 Vcpkg公司 是一个由微软维护的开源工具,它简化了获取和构建开源库的过程,目前支持200多个。这个工具虽然与VisualStudio本身分离,但对于Windows上的任何C++开发人员来说都是一个有价值的伙伴。查看 公告博客帖子 详情。

结论

我们希望本指南能够让您快速了解visualstudio,并且您已经了解了一些核心功能。这应该足以让您开始学习,但还有许多功能无法在本指南中介绍。Visual C++博客是一个非常有用的资源,不仅可以了解更多的产品,还可以了解我们当前正在做的和改变的内容。您可以在上找到全面的产品文档 docs.microsoft.com 也。现在就去建造一些神奇的东西!

我们一直在努力改进,如果您对我们有任何反馈或建议,请随时联系我们!我们可以通过电子邮件联系 microsoft.com上的visualcpp 你可以通过 帮助>报告问题 在产品中,或通过 开发者社区 .

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享