⏱ 此帖子于2017年3月7日更新 对于Visual Studio 2017发行版。
正如你们许多人可能已经看到的,我们已经介绍了 一个简化的visualstudio安装程序 对于Visual Studio 2017 使您能够更好地控制安装内容。 从VisualStudio 2015的C++工具开始,现在已经成为一种基于工作负载的安装体验,在那里你可以选择需要的工具,而不是更多。
我们现在提供了只安装代码所需的确切工具的功能。 不需要C/VB或Blend? 现在你不需要安装了! 这将有助于大大减少安装时间,因为在整个VisualStudio中包含千兆字节的功能,可能对大多数C++都不感兴趣。 我们已经定义了五个C++工作负载,我们将在这个博客文章中进行探索:桌面、Linux、莫比尔、游戏和通用Windows开发。
VisualStudio现在使用一个称为 微软 Visual Studio安装程序 它管理Visual Studio 2017的所有安装。 此应用程序将允许您选择产品,如“Visual Studio Enterprise 2017”,并自定义其安装选项。
VisualStudio2017产品的基础是所谓的核心编辑器,它包括语法感知编码、源代码控制和工作项管理。 无论您如何自定义VisualStudio2017安装,核心编辑器都将始终安装。
为了获得更具体的功能,您应该 在核心编辑器的顶部选择并安装至少一个工作负载。 例如,在下面的截图中,左侧的C++桌面开发工作量被选择,右边显示相应的选项。 将鼠标悬停在某个选项上,将为您提供组件安装内容的详细描述。
对于每个工作负载,都有始终选中的必需组件和可以选择的可选组件。推荐的选择是一组能够满足大多数开发人员工作负载需求的工具。
我们已经介绍了五种不同的C++开发场景的工作负载,无论你是针对Windows桌面、Windows存储还是非Android平台,如Android或Linux。 我们还有一个游戏开发工作量 允许使用不同的技术构建游戏,如DirectX、Unreal Engine或Cocos2d引擎。
用C++实现Windows桌面开发
此工作负载提供构建和调试基于Win32的桌面应用程序所需的工具。 默认情况下,我们包括针对x86和x64版本的Windows的编译器和库。
Visual Studio 2017体验的一个新部分是,“C++/CLI支持”现在是一个可选组件,因为这需要安装.NET framework和目标包。 这样做可以大大减少默认的安装大小,以支持纯本机开发 在将来,我们计划通过同时提供x86和x64目标选项来允许更细粒度地分解这些工具。 我们还与Windows团队一起重构Windows 10 SDK,以便通过目标体系结构实现更细粒度的安装。。 库和WindowsSDK占据了我们安装的绝大部分空间,因此对我们来说,进行这些优化是当务之急。
用C++开发手机
C++移动开发工作量是基于我们已经用VisualStudio 2015更新3的经验,并包含了针对Android和iOS所需的工具。 这些选项可以定制为添加所需的Android SDK版本。请注意,第三方安装组件将其许可条款直接链接到组件下面。
有关创建 Visual Studio中的Android或iOS移动应用程序,请参阅以下资源:
用C++开发Linux
我们以前作为 Visual Studio扩展 现在可以直接在产品中使用。 为Linux开发和调试所需的所有工具都包含在工作负载的默认选择中。 请在上查看此博客文章 Visual C++在Linux开发中的应用 更多信息。
用C++开发游戏
这种工作负荷使您可以快速开始在VisualStudio中用C++构建游戏。 通过使用默认选项安装工作负载,您可以立即开始在DirectX中编写游戏,并提供完整的编辑、调试和图形诊断支持。如果你正在研究使用一种流行的C++游戏引擎, 虚幻引擎 或 Cocos2d ,要构建游戏,请选中可选组件列表中的复选框,并让VS安装程序自动为您获取正确的引擎。
通用Windows平台开发
虽然通用Windows工作负载不特定于C++,但该工作负载提供了所有开发的安装选项。 Windows通用应用程序 . 由于C++库是总安装大小的重要组成部分,所以我们将C++支持作为这个工作负载的可选组件。 在工作负载中添加C++项目的支持只需要选择“C++ UWP支持” 默认情况下未选中的工作负载自定义区域(如下所示)中的组件:
安装单个组件
除了安装整个工作负载,您还可以选择安装 单个组件 在Visual Studio 2017中。 无论您是想向工作负载中添加一些额外的内容,还是只安装一个组件,“单个组件”部分提供了一个更详细的列表,用于进行以下选择:
我们很乐意听取您对新安装体验的反馈,并通过让您对visualstudio安装有更多的控制,使其在将来的版本中变得更好。 给新版本一个尝试和分享请分享您的反馈。 谢谢!