C++ Team Blog

The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team

Visual Studio Code C/C++ extension: May 2019 Update

The May 2019 update of the Visual Studio Code C/C++ extension is now available to C/C++ extension Insiders. This release includes many new features, including Visual Studio Code Remote Development extensions with C/C++, an IntelliSense Configurations settings UI, and IntelliSense improvements.

In-Editor Documentation for CMake in Visual Studio

Visual Studio 2019 version 16.1 Preview 1 introduces in-editor documentation for CMake commands, variables, and properties. You can now leverage IntelliSense autocompletion and quick info tooltips when editing a CMakeLists.txt file, which will save you time spent outside of the IDE referencing documentation and make the process less ...

Visual Studio Code C/C++ extension: March 2019 Update

The March 2019 update of the Visual Studio Code C/C++ extension is now available. This release includes many new features and bug fixes, including IntelliSense caching, Build and Debug Active File, and configuration squiggles. For a full list of this release’s improvements, check out our release notes on GitHub. IntelliSense Cache (AutoPCH...

Making C++ Exception Handling Smaller On x64

Visual Studio 2019 Preview 3 introduces a new feature to reduce the binary size of C++ exception handling (try/catch and automatic destructors) on x64. Dubbed FH4 (for __CxxFrameHandler4, see below), I developed new formatting and processing for data used for C++ exception handling that is ~60% smaller than the existing implementation ...

Concurrency Code Analysis in Visual Studio 2019

Concurrency Code Analysis in Visual Studio 2019 The battle against concurrency bugs poses a serious challenge to C++ developers. The problem is exacerbated by the advent of multi-core and many-core architectures. To cope with the increasing complexity of multithreaded software, it is essential to employ better tools and processes to help ...

Introducing the New CMake Project Settings UI

Visual Studio 2019 Preview 2 introduces a new CMake Project Settings Editor to help you more easily configure your CMake projects in Visual Studio. The editor provides an alternative to modifying the CMakeSettings.json file directly and allows you to create and manage your CMake configurations. If you’re just getting started with CMake in...

In-editor code analysis in Visual Studio 2019 Preview 2

The C++ team has been working to refresh the Code Analysis experience inside Visual Studio. Last year, we blogged about some in-progress features in this area. We’re happy to announce that in Visual Studio 2019 Preview 2, we’ve integrated code analysis directly into the editor, improved upon previously experimental features, and enabled ...

Lifetime Profile Update in Visual Studio 2019 Preview 2

The C++ Core Guidelines' Lifetime Profile, which is part of the C++ Core Guidelines, aims to detect lifetime problems, like dangling pointers and references, in C++ code. It uses the type information already present in the source along with some simple contracts between functions to detect defects at compile time with minimal annotation. ...

Out-of-Process Debugger for C++ in Visual Studio 2019

Visual Studio 2019 Preview 1 introduces an improved debugger for C++ that uses an external 64-bit process for hosting its memory-intensive components. If you’ve experienced memory-related issues while debugging C++ applications before, these issues should now be largely resolved with Visual Studio 2019. Background One of the areas of ...

New Start Window and New Project Dialog Experience in Visual Studio 2019

Two features available in Visual Studio 2019 Preview 1 for C++ developers are the start window and a revamped new project dialog. The start window moves the core features from the Visual Studio Start Page, which normally appeared in the editor space when Visual Studio is launched, out into a separate window that appears before the IDE launches. The window includes five main sections: Open recent, Clone or checkout code, Open a project or solution, Open a local folder, Create a new project. It is also possible to continue past the window without opening any code by choosing “Continue without code”. Let’s dig into the features of the start window.