C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Introducing the Visual Studio Build Tools
Download the VS 2017 Build Tools (for C++ or managed code) Recap of the Visual C++ and Build Tools Last year we introduced the Visual C++ 2015 Build Tools to enable a streamlined build-lab experience for getting the required Visual C++ tools without the additional overhead of installing the Visual Studio IDE. We expanded the options to include tools like ATL and MFC, .NET tools for C++/CLI development, and various Windows SDKs. There was also an MSBuild standalone installer for installing the tools needed for building .NET applications called the Microsoft Build Tools 2015. The new Visual Studio Build Tools ...
Find All References re-designed for larger searches
Visual Studio 2017 comes packed with several major changes to the core developer productivity experience. It is our goal to maximize your efficiency as you develop applications, and this requires us to constantly refine our features and improve on them over time. For Visual Studio 2017, we wanted to improve code navigation, particularly for larger solutions which produce many search results. One big focus for us was Find All References. The other was Navigate To, described in a separate blog post. Find All References is intended to provide an efficient way to find all usages of a particular code symbol in your ...
Introducing Go To, the successor to Navigate To
Visual Studio 2017 comes packed with several major changes to the core developer productivity experience. It is our goal to maximize your efficiency as you develop applications, and this requires us to constantly refine our features and improve on them over time. For Visual Studio 2017, we wanted to improve code navigation, particularly for larger solutions which produce many search results. One big focus for us was Navigate To (now known as Go To). The other was Find All References, described in a separate blog post. We rebranded our Navigate To feature to Go To, an umbrella term for a set of filtered navigati...
Open any folder with C++ sources in Visual Studio 2017 RC
With the Visual Studio 2017 RC release, we're continuing to improve the "Open Folder" capabilities for C++ source code. In this release, we're adding support for building as well as easier configuration for the debugger and the C++ language services. If you are just getting started with "Open Folder" or want to read about these capabilities in more depth, head over to the Open Folder for C++ introductory post that has been updated with the content below. If you are using CMake, head over to our blog post introducing the CMake support in Visual Studio. Here are the improvements for the “Open Folder” C++ experien...
CMake support in Visual Studio – the Visual Studio 2017 RC update
Visual Studio 2017 RC is an important release when it comes to its support for CMake. The "Tools for CMake" VS component is now ready for public preview and we’d like to invite all of you to bring your CMake projects into VS and give us feedback on your experience. For an overview of the general Visual Studio CMake experience, head over to the announcement post for CMake support in Visual Studio that has been updated to include all the capabilities discussed in this post. Additionally, if you’re interested in the “Open Folder” capability for C++ projects that are not using CMake or MSBuild, check out the Open Fo...
Updates to Expression SFINAE in VS 2017 RC
Throughout the VS 2015 cycle we've been focusing on the quality of our expression SFINAE implementation. Because expression SFINAE issues can be subtle and complex we've been using popular libraries such as Boost and Microsoft's fork of Range-v3 to validate our implementation and find remaining bugs. As we shift the compiler team's focus to Visual Studio 2017 release we're excited to tell you about the improvements we've made in correctly parsing expression SFINAE. We've been tracking the changes and improvements to our parsing of expression SFINAE throughout the Visual Studio 2015 and 2017 cycle. The improvemen...
Give Visual C++ a Switch to Standard Conformance
This post was written by Gabriel Dos Reis, Phil Christensen, and Andrew Pardoe The Visual C++ Team is excited to announce that the compiler in Visual Studio 2017 RC will feature a mode much closer to ISO C++ standards conformance than any time in its history. This represents a major milestone in our journey to full ISO C++ conformance. The mode is available now as an opt-in via the switch but will one day become the default mode for the Visual C++ compiler. Got a minute? Try Visual C++ conformance mode The Visual C++ Team is previewing a compiler mode whereby longstanding non-conforming C++ constructs are reje...
Visual C++ docs: the future is… soon!
We on the Visual C++ documentation team are pleased to announce some changes to the API reference content in the following Visual C++ libraries: STL, MFC, ATL, AMP, and ConcRT. Since the beginning of MSDN online, the Visual C++ libraries have documented each class member, free function, macro, enum, and property on a separate web page. While this model works reasonably well if you know exactly what you are looking for, it doesn't support easy browsing or searching through multiple class members. We have heard from many developers that it is painful (sometimes literally) to click between multiple pages when explo...
Developing Linux C++ applications with Azure Docker containers
In recent years, Visual Studio has added new features and experiences to allow developers to develop their C++ applications for non-Windows platforms such as Android, iOS and more recently Linux. One of the challenges that Linux development brings to the table is making sure your native application works across the wide set of Linux distributions available. We have experienced this first-hand when developing the Visual Studio Code C/C++ extension where we needed to test the extension across a wide variations of Linux distributions. We typically build and test our C++ code on different versions of Ubuntu, Debian,...