⏱This post was updated on 3/7/2017 for the Visual Studio 2017 release.
As many of you may have already seen, we have introduced a streamlined Visual Studio Installer for Visual Studio 2017 to give you more control of what you install. What began as the separation of the C++ tools for Visual Studio 2015 has now become a workload-based installation experience where you can select the tools you need and nothing more.
We have now provided the ability to install only the exact tools you need for your code. Don’t need C#/VB or Blend? Now you do not need to install it! This will help to greatly reduce installation times as there are gigabytes of features included in the full Visual Studio that may not be of interest to the majority of C++ . We have defined five C++ workloads that we will explore in this blog post: Desktop, Linux, Mobile, Game, and Universal Windows development.
Using the New Installer
Visual Studio now uses a small standalone application called the Microsoft Visual Studio Installer that manages all installations of Visual Studio 2017. This application will allow you to select a product, like “Visual Studio Enterprise 2017,” and customize its installation options.
At the base of the Visual Studio 2017 product is what is called the Core Editor, which includes syntax-aware coding, source code control, and work item management. The core editor is always installed no matter how you customize your Visual Studio 2017 install.
In order to get more specific functionality, you should select and install at least one workload on top of the core editor. For example, in the screenshot below, the C++ Desktop development workload is selected on the left side and the corresponding options are shown on the right. Hovering over an option will give you the detailed description of what the component installs.
For each workload there are required components that are always selected, and optional components that can be opted into. The recommended selections are the set of tools that will meet the majority of developers needs for the workload.
C++ Workloads in Visual Studio 2017
We have introduced five workloads for different C++ development scenarios, whether you are targeting Windows Desktop, Windows Store, or a non-Microsoft platform like Android or Linux. We also have a game development workload that allows building games with different technologies such as DirectX, Unreal Engine, or Cocos2d engine.
Windows Desktop Development with C++
This workload provides the tools needed for building and debugging Win32-based desktop applications. Be default, we include the compilers and libraries for targeting x86 and x64 versions of Windows.
A new part of the Visual Studio 2017 experience is that “C++/CLI Support” is now an optional component since this requires installing the .NET framework and targeting pack. Doing so greatly reduces the default installation size to support purely native development In the future, we plan to allow a more granular break down the tools by having options both x86 and x64 targets. The We are also working with Windows team to refactor the Windows 10 SDK to allow a more granular installation by target architecture.. Libraries and the Windows SDK account for the vast majority of our installation footprint, so making these optimizations is a top priority for us.
Mobile Development with C++
The C++ mobile development workload is based on the experience we have already shipped with Visual Studio 2015 Update 3 and includes the tools needed to target Android and iOS. The options can be customized to add the desired Android SDK versions. Note that third–party installation components link their license terms directly beneath the component.
For more information on creating Android or iOS mobile application in Visual Studio, consult these resources:
Linux Development with C++
What we have previously shipped as a Visual Studio extension is now available directly in the product. All of the necessary tools for developing and debugging for Linux are included in the default selections for the workload. Check out this blog post on Visual C++ for Linux Development for more information.
Game Development with C++
This workload enables you to quickly get started building games in C++ with Visual Studio. By installing the workload with its default options, you can start writing games in DirectX right away with full editing, debugging, and graphics diagnostics support. If you are looking into using one of the popular C++ game engines, Unreal Engine or Cocos2d, to build games, select the checkboxes in the Optional component list and let the VS installer get the right engines for you automatically.
Universal Windows Platform Development
While the Universal Windows workload not specific to just C++, this workload provides all of the installation options for development of Windows Universal apps. We have added C++ support as an optional component to this workload since C++ libraries are a significant part of the total install size. Adding support for C++ projects in this workload simply requires selecting the “C++ UWP support” component in the workload customization area (shown below) which is not selected by default:
Installing Individual Components
Besides installing an entire workload, you also have the option to install individual components in Visual Studio 2017. Whether you want to add a couple extra things to your workload or just install a single component, the individual components section provides a more granular list for making these selections:
We would love to hear your feedback on the new installation experience and make it even better for future releases by giving you more control over your Visual Studio installation. Give the new version a try and share please share your feedback. Thanks!