C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
C++ Extension in VS Code 1.18 Release: Quick Fixes for missing header files, Extract to Function & More
The 1.18 version of the C++ Extension in Visual Studio Code has been released. With this version of the extension, we have added several new features such as: For the full list of changes, please reference the 1.18 release notes. Quick Fixes for missing header files Have you ever written C++ code and forgotten to add the right header? Gotten frustrated because of an IntelliSense error that turns out to just be a missing header file? We have now added a quick fix suggestion (lightbulb) to make the process of adding the correct header files to C++ files easier. If there is an unknown symb...
Visual Studio Code CMake Tools Extension 1.16 Update: New CMake Tools Sidebar and CMake Debugging options
The November release of the CMake Tools extension in VS Code is now available. With this release, we have two major new updates to the extension: The full list of updates can be seen in our change log. This release features 10 contributions from the open-source community. Thank you all for your continued support! Release Schedule Updates Starting with this November release, CMake Tools will now release every 3 months. You can learn more about our release schedules on our release schedule wiki. Updates to the default CMake Tools UI Starting in this 1.16 release, the default CMake Tools status b...
Unreal Engine and C++ Game Development Made Easy with Visual Studio 2022
Introduction Creating amazing games just got easier. We are very happy to announce the latest Unreal Engine integrations and powerful C++ productivity features in Visual Studio 2022. Our team has been tirelessly working to incorporate your feedback and bring even more features that will enhance your game development experience whether you work on Unreal Engine or a proprietary engine. In this blog, we will explore how you can leverage the new Unreal Engine Test Adapter, which helps to streamline your testing process without leaving the IDE. Then, we will also show you how you can code faster with Unreal E...
What’s New for C++ Developers in Visual Studio 2022 17.8
We are happy to announce that Visual Studio 2022 version 17.8 is now generally available! This post summarizes the new features you can find in this release for C++. You can download Visual Studio 2022 from the Visual Studio downloads page or upgrade your existing installation by following the Update Visual Studio Learn page. Standard Library The Standard Library Modules standardized in C++23 are now available in C++20 mode. This is a cross-vendor extension, planned or supported also by libstdc++ and libc++. We have also implemented several new C++23 and C++26 features, including augmented support for Freest...
vcpkg 2023.10.19 Release: Export for Manifests, Documentation Improvements, and More…
The 2023.10.19 release of the vcpkg package manager is available. This blog post summarizes changes from August 10th, 2023 to October 19th, 2023 for the Microsoft/vcpkg, Microsoft/vcpkg-tool, and Microsoft/vcpkg-docs GitHub repos. Some stats for this period: Key changes Notable changes for this release are summarized below. vcpkg export now supports manifest mode The vcpkg export command can be used to export built packages from the installed directory to a standalone SDK. A variety of formats are supported, including NuGet, a zip, or a raw directory. The SDK contains all pr...
Microsoft Visual C++ at CppCon 2023 Trip Report
The Visual C++ team attended CppCon 2023, the largest in-person C++ conference, in Aurora, Colorado from October 2-6th. There were over 700 attendees from the C++ community, and we really enjoyed getting a chance to meet all of you and talk about your unique backgrounds and C++ experiences. Some of our team member’s talks are now available to watch on YouTube so that you can watch them even if you missed CppCon to learn the latest for our tooling and more: The venue was at the Gaylord Rockies this year. The Gaylord Rockies is a resort with a massive convention center and many restaurants ...
Structured Diagnostics in the New Problem Details Window
Massive compiler errors which seem impossible to navigate are the bane of many C++ developers’ lives. It’s up to tools to provide a better experience to help you comprehend diagnostics and understand how to fix the root issue. I wrote Concepts Error Messages for Humans to explore some of the design space and now, due to the hard work of many folks working on Visual Studio, we have a better experience to share with you all. You can read about some of the work which has led up to these changes in Xiang Fan’s blog post on the future of C++ diagnostics in MSVC and Visual Studio. In Visual Studio 2022 version 17.8 ...
Open Sourcing IFC SDK for C++ Modules
Back with VS2019 version 16.10, we announced a complete implementation of C++ Modules (and, generally, of all C++20 features) across the MSVC compiler toolset, static analysis, IntelliSense, and debugger. Implementing Modules requires principled intermediate representation of C++ source programs. Today, we are thrilled to announce the availability of the IFC SDK, a Microsoft implementation of the IFC Specification. This is an open-source project under the Apache 2-with-LLVM-exception license. The IFC Specification formalizes C++ programs as data amenable to semantics-based manipulation. We are open sourcing the I...
Build Reliable and Secure C++ programs — Microsoft Learn
“The world is built on C and C++” is no overstatement — C and C++ are foundational languages for our global society and are always in the world’s top 10 most heavily used languages now and for the foreseeable future. Visual Studio has always supported many programming languages and we encourage new languages and experiments; diversity and innovation are healthy and help progress the state of the art in software engineering. In Visual Studio we also remain heavily invested long-term in providing the best C and C++ tools and continuing to actively participate in ISO C++ standardization, because we know that our int...