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 main goal of the start window is to make it easier to get to a state where code is loaded in the IDE by concentrating on the commands that a developer will… Read more

Using multi-stage containers for C++ development

Containers are a great tool for configuring reproducible build environments. It’s fairly easy to find Dockerfiles that provide various C++ environments. Unfortunately, it is hard to find guidance on how to use newer techniques like multi-stage builds. This post will show you how you can leverage the capabilities of multi-stage containers for your C++ development…. Read more

Guaranteed Copy Elision Does Not Elide Copies

This post is also available on Simon Brand’s blog C++17 merged in a paper called Guaranteed copy elision through simplified value categories. The changes mandate that no copies or moves take place in some situations where they were previously allowed, e.g.: You can see this behavior in compiler versions Visual Studio 2017 15.6, Clang 4,… Read more

Visual Studio Code C++ extension: October 2018 update and a simplified Insiders program

The October 2018 update of the Visual Studio Code C++ extension has recently shipped. It comes with a ton of bug fixes, improved Go to Definition support, integrated terminal support when debugging, and a simpler way to opt into our extension’s Insiders program. For a detailed list of this release’s improvements, check out the release… Read more

AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode

After reading and writing enough code, you begin to notice certain usage patterns. For example, if a stream is open, it will eventually be closed. More interestingly, if a string is used in the context of an if-statement, it will often be to check if the string is empty or if it has a certain… Read more

Announcing Live Share for C++: Real-Time Sharing and Collaboration

C++ developers using Visual Studio 2019 16.0 Preview 1 or Visual Studio Code can now use Live Share. With Live Share you can share the full context of your code, enabling collaborative editing and debugging.  Collaborative Editing:   Collaborative Debugging:    In a Live Share session there is a host and a guest(s). The host… Read more

Better template support and error detection in C++ Modules with MSVC 2017 version 15.9

Overview It has been a long time since we last talked about C++ Modules. We feel it is time to revisit what has been happening under the hood of MSVC for modules. The Visual C++ Team has been dedicated to pushing conformance to the standard with a focus on making the overall compiler implementation more robust and correct with the rejuvenation effort. This rejuvenation effort… Read more

Exploring Clang Tooling – Using Build Tools with clang-tidy

This post is part of a regular series of posts where the C++ product team and other guests answer questions we have received from customers. The questions can be about anything C++ related: MSVC toolset, the standard language and library, the C++ standards committee, isocpp.org, CppCon, etc. Today’s post is by guest author Stephen Kelly,… Read more

Using Visual Studio for Cross Platform C++ Development Targeting Windows and Linux

A great strength of C++ is the ability to target multiple platforms without sacrificing performance. If you are using the same codebase for multiple targets, then CMake is the most common solution for building your software. You can use Visual Studio for your C++ cross platform development when using CMake without needing to create or… Read more

Q&A: Fine-grained friendship

This post is part of a regular series of posts where the C++ product team here at Microsoft answers questions we have received from customers. The questions can be about anything C++ related: Visual C++, the standard language and library, the C++ standards committee, isocpp.org, CppCon, etc. Today’s Q&A is by Herb Sutter. Question  Reader… Read more