C++ development with Docker containers in Visual Studio Code

Containers allow developers to package up an application with all the parts it needs, such as libraries and other dependencies, and ship it all out as one image. This is especially useful for C++ cross-platform development – with containers you can choose to target a platform that runs on a completely different operating system than… Read more

Using MSVC in a Docker Container for Your C++ Projects

Containers encapsulate the runtime environment of an application: the file system, environment settings, and virtualized OS are bundled into a package. Docker containers have changed the way we think about build and test environments since they were introduced five years ago. Visual Studio’s setup and install expert, Heath Stewart, blogs regularly about how to install… Read more

Visual Studio Code C/C++ extension July 2018 Update and IntelliSense auto-configuration for CMake

Last week we shipped the July 2018 update to the C/C++ extension for Visual Studio Code. In this update we added support for a new experimental API that allows build system extensions to pass IntelliSense configuration information to our extension for powering up full IntelliSense experience. You can find the full list of changes in… Read more

Data Breakpoints – Visual Studio 2017 15.8 Update  

New to Visual Studio 2017 version 15.8, you can now set data breakpoints from within the Locals, Autos, Watch, and Quickwatch windows!  To view official documentation on data breakpoints, check out this post. Data breakpoints allow you to stop execution when a particular variable stored at a specific memory address changes.  Prior to version 15.8,… Read more

MSVC Preprocessor Progress towards Conformance

Why re-write the preprocessor? Recently, we published a blog post on C++ conformance completion. As mentioned in the blog post, the preprocessor in MSVC is currently getting an overhaul. We are doing this to improve its language conformance, address some of the longstanding bugs that were difficult to fix due to its design and improve… Read more

Shared PCH usage sample in Visual Studio

This post was written by Olga Arkhipova and Xiang Fan Oftentimes, multiple projects in a Visual Studio solution use the same (or very similar) precompiled headers. As pch files are often big and building them takes a significant amount of time, this leads to the popular question: is it possible for several projects to use the same pch… Read more

Support for Unity (Jumbo) Files in Visual Studio 2017 15.8 (Experimental)

This post was written by Olga Arkhipova. Many big codebases use so-called unity (jumbo) builds where many source files are included in one or a few ‘unity’ files for compilation, which makes compiling and linking much faster. Just to avoid any confusion – this blog is NOT related to the Unity game engine. Looking at… Read more

Announcing C++ Just My Code Stepping in Visual Studio

In Visual Studio 2017 release 15.8 Preview 3 we’re announcing support for Just My Code stepping for C++. In addition to previously supported callstack filtering, the Visual Studio debugger now also supports stepping over non-user-code. As you “Step In”, for example in an algorithm from the Standard library with a custom predicate or in a… Read more

CMake Support in Visual Studio – Configuration Templates

Visual Studio 2017 15.8 Preview 3 is now available and it includes several improvements to the CMake tools. In addition to a few fixes we have simplified the way you can configure your CMakeSettings.json file by adding configuration templates. If you are new to CMake in Visual Studio, check out how to get started. Configuration… Read more

New, experimental code analysis features in Visual Studio 2017 15.8 Preview 3

The Visual C++ team has been working to refresh our code analysis experience inside Visual Studio. We’re aiming to make these tools both more useful and natural to use and hope that they’ll benefit you no matter your workflow, style, or project type. Trying out new features In Visual Studio 2017 version 15.8 Preview 3,… Read more