C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
C++ code editing tools for GitHub Copilot: now in Public Preview
In November, we introduced C++ code editing tools for GitHub Copilot as a Private Preview, focusing on partnering with customers to tackle one of the common, taxing challenges for C++ development: refactoring at scale. Since then, we've listened to feedback and refined our tooling to make wide-sweeping C++ edits easier. "With C++ code editing tools for GitHub Copilot in Visual Studio, we've seen noticeably better overall results, with fewer errors and faster processing on large projects." - Software engineer (from our Private Preview) We're excited to announce that C++ code editing tools for GitHub Copilot are ...
New release cadence and support lifecycle for Microsoft C++ Build Tools
Starting with Visual Studio 2026, we are introducing a new support lifecycle for the Microsoft C++ (MSVC) Build Tools. We are also updating the MSVC release cadence. As Visual Studio moves to a Modern Lifecycle with monthly feature updates and an annual new version, decoupling the compiler from the IDE offers you the best of both worlds – rapid iteration in the IDE and predictable, long-term stability for the build tools. This approach brings you the latest C++ advancements across both IDE and build tools while helping you maintain secure and compliant build environments, with enterprise-grade support, and fle...
Introducing MSVC AddressSanitizer for ARM64 targets
We are pleased to announce AddressSanitizer (ASan) support for the Microsoft C++ (MSVC) Build Tools for ARM64 targets. ASan is a runtime memory error detector that identifies difficult-to-find bugs with zero false positives and improves memory safety. More technical information on ASan can be found at aka.ms/asan. ASan has long supported the x64 and x86 architectures. With the release of Visual Studio 2026 for production use, this support now extends to ARM64. The feature is currently in preview, so there may be build, runtime, or IDE integration issues. Cross-compiling for ARM64 targets from x86 or x64 hosts...
Perform wide-sweeping refactors using C++ code editing tools for GitHub Copilot
Refactoring a C++ codebase can often require tracking updates across various sections of multiple files to ensure accuracy and relevancy. Historically, developers have relied on manual searches across a codebase and refactoring tools to perform these types of edits. However, with GitHub Copilot agents, developers can now delegate these complex editing tasks to the agent, which understands your intent and can carry out codebase-wide edits, reducing the manual effort required to perform these refactors. To make this experience even more powerful for C++ developers, we’re introducing C++ Code Editing Tools f...
Optimize Your C++ Build Times with GitHub Copilot
Long build times are one of the top pain points for C++ projects. If you’ve ever waited too long for a C++ build to finish, you know how much it can slow down your productivity. In past years, we introduced C++ Build Insights to help you analyze traces and find bottlenecks. However, we know that embarking on these investigations manually can still take time and effort. To make this experience easier for C++ developers, we’re excited to announce that GitHub Copilot build performance for Windows is now available in Private Preview with the latest version of Visual Studio 2026 Insiders. New GitHub Copilot Ca...
Fix build issues using GitHub Copilot after upgrading MSVC Build Tools
A few problems have reared their heads at every company where I’ve worked on C++ as a Software Engineer over the past 20 years. For the most part, those problems have nothing to do with the language and how it is used, but instead all the “other” stuff, like dealing with long build times, getting consistent build environments, and managing the technical debt of an evolving tooling landscape. When the tools we use to build our applications and systems have new releases, we must make hard decisions. Do we adopt the latest and greatest and turn potential technical debt into realized technical debt, or do we e...
What’s New for C++ Developers in Visual Studio 2026 version 18.0
Get ready to level up your C++ productivity, because Visual Studio 2026 version 18.0 is now generally available! You can take advantage of the new features, bug fixes, and performance improvements in your production environment. This post describes what’s new for C++ developers, including new features or improvements in these areas: You can also read the broader announcement on the Visual Studio Blog for more details on changes that are non-C++-specific. Let’s dive in! Your feedback matters to us You can always give us feedback abo...
Inside Visual Studio: Improving Open-Source Workflows with vcpkg
vcpkg, an open-source C/C++ package manager maintained by Microsoft, is increasingly recognized as a leading dependency management solution. As an enterprise-grade tool, it enables organizations to streamline library imports, reduce duplication, and support flexible, reproducible builds across a wide array of environments. This need for streamlined dependency management is especially relevant in the build system for the Visual Studio repository. This system not only supports the development of Visual Studio itself but also integrates decades of legacy infrastructure, specialized tools, and complex architecture...
What’s New in vcpkg (October 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.10.17 registry release, the 2025-10-10 and 2025-10-16 tool releases, as well as changes to vcpkg documentation throughout October. This month’s updates includes partial support for Visual Studio 2026 and platform toolset v145, NetBSD platform support, and minor improvements and bug fixes. Some stats for this period: vcpkg changelog (2025.10.17 release) Documentation changes Over the past month we had minor documentation improvements. If you have any suggestions for our documentation, pl...
Microsoft C++ Team at CppCon 2025: Trip Report
Another year and another CppCon is all wrapped up! Microsoft was pleased to once again be an exhibitor and to have several of our employees present sessions at the conference. Here are my major takeaways from the keynotes, sessions, conversations, and the general vibe. The week before CppCon, we announced Visual Studio 2026 and Microsoft C++ (MSVC) Build Tools v14.50, and the conference gave us a great opportunity to let you know what you can expect in the new release and for you to give us your feedback. We highly encourage you to try out the Insiders release and let us know what your experience...
Upgrading C++ Projects to Visual Studio 2026
With Visual Studio 2026 version 18.0 getting closer to General Availability (GA), we want to share with you how you can upgrade your projects from your current versions of Visual Studio and the Microsoft C++ (MSVC) Build Tools to the latest versions. The new IDE ships with the v145 platform toolset for MSBuild C++ projects and MSVC Build Tools version 14.50. In this post, I will walk you through the process step-by-step, while explaining some of the features available to you to make the transition as painless as possible. Overall, our goal is to help you get current and stay current. You can also review the updat...
New GitHub Copilot capabilities for C++ developers: Upgrade MSVC, improve build performance, and refactor C++ code
Yesterday at GitHub Universe, GitHub announced support for custom agents. Custom agents are specialized configurations with custom prompts and context that focus Copilot on specific development tasks. On the C++ team, we have a similar goal: Provide differentiated capabilities that optimize GitHub Copilot for C++ development tasks. As a first step towards this goal, we’re announcing new capabilities for GitHub Copilot that support C++ developers in three development tasks: These experiences will be available soon as a Private Preview in Visual Studio 2026. Join the waitlist for Private Pr...
What’s New in vcpkg (September 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.09.17 registry release, the 2025-08-29 and 2025-09-03 tool releases, as well as changes to vcpkg documentation throughout September. This month’s updates includes new binary caching sources and , support for tvOS and watchOS target platforms, and minor improvements and bug fixes. Some stats for this period: vcpkg changelog (2025.09.17 release) Documentation changes If you have any suggestions for our documentation, please submit an is...
Fixing Overload Resolution For Parameter Arrays in C++/CLI
Fix a problem in C++/CLI parameter array overload resolution which affects newer .NET versions.
Microsoft C++ Team at CppCon 2025
It's that time of year again! We are excited to see you all at CppCon this year, where we'll once again be delivering a variety of presentations, from the latest advancements in debugging technology to extensibility frameworks for AI agents. See the end of this post for a listing of all of the sessions involving Microsoft staff. And yes, there'll be plenty of information on the freshly announced Visual Studio 2026. We'll also have a booth through the first four days of the conference. Come on by and let us know what matters to you or ask any burning questions you may have regarding C++ at Microso...
C++ Language Updates in MSVC Build Tools v14.50
C++ Language Updates in MSVC Build Tools v14.50 It has been some time since we have provided an update on MSVC progress, and this one comes with the latest major update to our IDE: Visual Studio 2026 version 18.0. This version of Visual Studio ships with the MSVC Build Tools version 14.50, which includes version 19.50 of the MSVC compiler. You can try out the improvements by downloading the Insiders release. Also, if you want to track updates in the Standard Library, check out the STL Changelog, which is regularly updated. Let’s jump right into the updates! C++23 Features As C++ standards progress in MSVC, you...
Visual Studio 2026 Insiders is here!
Get ready –the first Insiders release of Visual Studio 2026 has arrived! In this new evolution of Visual Studio, we’re continuing our commitment to building the best integrated developer environment for C++ developers on Windows. Visual Studio 2026 features a fresh UI, faster performance, and improved developer productivity with advanced AI integration. For more details on what’s new, check out the official announcement on the Visual Studio Blog! We would love your feedback – try out our Insiders release of Visual Studio 2026 today! If you run into any issues, you can report them to Visual Studio Dev...
What’s New in vcpkg (August 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.08.27 registry release as well as changes to vcpkg documentation throughout August. There were no tool changes as of the date of the registry release in August, though more changes will be listed in the next release in September. Some stats for this period: GitHub Dependabot support for vcpkg Earlier this month, we announced GitHub Dependabot support for vcpkg. This allows GitHub users to receive automated PRs to upgrade their vcpkg versioning baselines. Since that announcement, the automated PRs have b...
Announcing Proxy 4: The Next Leap in C++ Polymorphism
Version 4 of Microsoft's Proxy library brings feature improvements, better diagnostics, better code generation, modern compiler/debugger support.
Dependabot support for vcpkg
We are excited to announce that GitHub’s Dependabot now brings automated dependency updates to C++ projects using vcpkg. This support is available for projects using vcpkg manifest files, empowering teams to keep their library dependencies current and secure with minimal effort. With Dependabot, your repo can receive automatic pull requests to upgrade your libraries to the latest available versions. What does this mean for your projects? For C++ developers managing dependencies through vcpkg, this integration eliminates a critical gap in the DevSecOps pipeline. Dependabot will automatically scan your manifests...
What’s New in vcpkg (July 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.07.25 registry release, 2025-06-20, 2025-07-16, and 2025-07-21 tool releases, as well as changes to vcpkg documentation throughout July. This release includes a new command for printing package SPDX licenses, binary caching optimizations, and support for visionOS, Solaris, and illumos systems. Some stats for this period: vcpkg changelog (2025.07.25 release) The following notable changes were made in this release: Documentation changes If you have any suggestions for...
Dynamically Update C++ syntax using Next Edit Suggestions
When working in a C++ repo, you often are maintaining and updating existing code just as often as you are writing new code. However, updating code in C++ can often require navigating to several different locations in a file to ensure consistency, which can disrupt your logical workflow. For example, changing a data member’s access level typically involves several steps: moving the member between the and sections of the class, adding getter/setter methods, and updating all references to respect this new access level. GitHub Copilot now supports Next Edit Suggestions (or NES for short) to predict the next edit...
Visual Studio Code CMake Tools Extension 1.21 Release: Multi-root improvements, CMake Presets v10, and more…
We’re excited to announce the latest 1.21 release of the CMake Tools extension for Visual Studio Code. This update brings a host of new updates, including addressing one of our top-voted issues for multi-root improvements and adding CMake presets version 10 support. To view the full list of updates with this release, please look at our CHANGELOG. This release features the following ten contributions from our open-source community. Thank you for your continued support! Multi-root improvements We addressed one of our top-voted customer feedback issues to improve mult...
Updates to Warning Suppressions in Microsoft C++ Code Analysis
Improvements to \#pragma warning and gsl::suppress in Microsoft C++ Code Analysis.
Smarter, workspace-aware code completions for C++ in VS Code
C++ code understanding Developing C++ code can be complex. C++ project structure, style, and convention can vary widely from repository to repository, and critical context for a given task often spans multiple files. This can require C++ developers to open and navigate across several files to fully understand a given project and author new code. The GitHub Copilot team has focused on two areas to improve the C++ developer experience for code completions: These improvements are designed to help the autocomplete-style inline GitHub Copilot code completions be even more productive with C++ coding, m...
What’s New in vcpkg (June 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.06.13 registry release, 2025-04-16, 2025-05-19, and 2025-06-02 tool releases, as well as changes to vcpkg documentation throughout May and June. This release includes bug fixes, several documentation changes, and the removal of the binary caching provider for GitHub (alternatives are described below). Some stats for this period: vcpkg changelog (2025.06.13 release) The following notable changes were made in this release: Documentation changes ...
How Electronic Arts standardized C++ builds across Windows and Linux with Visual Studio Build Tools
At Electronic Arts (EA), the Frostbite Enginering Workflows team has thousands of developers who work on powerful game engines behind popular games. EA has relied on Visual Studio for years due to several features such as IntelliSense, Build Insights, and the overall debugging experience and eagerly use newer integrations such as GitHub Copilot. They also use Visual Studio capabilities for their cross-platform development needs. We're proud to partner with EA to shape cross-platform development capabilities in Visual Studio. Read more in the full story about how we worked with EA to enable them to customize ...
Address Sanitizer Updates for Visual Studio 2022 Version 17.14
Introduction It has been an exciting few months for the Address Sanitizer (ASan) since our last update. In addition to our continuous focus on quality and correctness, our internal “dogfooding” (i.e. internal adoption) effort has reached several important milestones. In this update, I want to go over some of the quality improvements since Visual Studio 2022 version 17.13, and to give a peek into how ASan is now protecting our C++ toolset against memory safety errors during development. Some improvements in Visual Studio 2022 version 17.14 This release also contains several other impr...
What’s New for C++ Developers in Visual Studio 2022 17.14
Visual Studio 2022 version 17.14 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 and Compiler We’ve made a myriad of fixes and improvements to the MSVC compiler and standard library. See C++ Language Updates in MSVC in Visual Studio 2022 17.14 for a full list of changes on the compiler side, and the STL Changelog for all the standard library updates. Compiler We’ve added support...
Introducing the /forceInterlockedFunctions switch for ARM64
In Visual Studio 2022 17.14, we are introducing the switch, which generates and links with out-of-line atomics that select Armv8.1+ Large System Extension (LSE) atomic instructions based on CPU support. This switch is on by default for Armv8.0 and off for Armv8.1+. Outlining is necessary in Armv8.0 because this version's interlocked intrinsics use exclusive instructions—/—that do not guarantee forward progress. This can cause performance issues due to intermittent livelocks. See Arm Architecture Reference Manual for A-profile architecture, section "B2.17.5 Load-Exclusive and Store-Exclusive instruction usage ...
C++ Language Updates in MSVC in Visual Studio 2022 17.14
Introduction In this update, we continue the tradition of bucketing bugs into helpful categories for you all to filter through along with even more notes from the compiler team as to what, exactly, was fixed. This blog is also complemented by the recent Pure Virtual C++ pre-conference talk by RanDair Porter; so please check out RanDair's talk, "MSVC C++23 Conformance", if you have not already to get a better view of MSVC's conformance status for Visual Studio 2022 overall. 17.13 notes for reference. C++23 Features Note: C++23 features can be used by either adding or to the command line. In addition, feat...
What’s New in vcpkg (April 2025)
This blog post summarizes changes to the vcpkg package manager as part of the 2025.04.09 registry release, 2025-03-22, 2025-04-01, and 2025-04-07 tool releases, as well as changes to vcpkg documentation throughout April. This release contains bug fixes, a new documentation article on offline usage of vcpkg, and other minor improvements. Arm64 Linux users of vcpkg also no longer have to build the vcpkg tool from source when they install vcpkg. Some stats for this period: vcpkg changelog (2025.04.09 release) The following notable changes were made in April: ...
There’s a Linux File Explorer built into Visual Studio!?!
The Remote File Explorer in Visual Studio provides developers with a convenient way to browse, view, and edit files on remote machines—directly from within the IDE. It's a powerful tool for managing remote environments without leaving your development workflow. Scott Hanselman published a new YouTube video to his channel, taking us on the journey of discovering and using the Remote File Explorer to interact with his personal PiDP-11 through shell scripts stored on the minicomputer. Check out Scott’s video and his thoughts about using the Remote File Explorer below: Using the Remote File Explorer and re...
VS Code C++ Extension 1.25 Release: Explain C++ symbols using Copilot & Customize recursive include paths
The 1.25 release of the C++ extension in Visual Studio Code introduces a new way to understand your code faster with GitHub Copilot-powered symbol summaries, as well as new customization options for recursive #include path processing. With these enhancements, you gain AI-powered insights into unfamiliar or undocumented code and can optimize IntelliSense performance based on your preferences. Experience these new features for yourself by updating to version 1.25. Copilot Hover Want to understand your unfamiliar codebases like undocumented library code quicker without having to navigate around files and re...
Pure Virtual C++ 2025 is Tomorrow
Pure Virtual C++ is our free, one-day, virtual conference for the whole C++ community. It's running live tomorrow, 30th April, from 14:00 to 16:30 UTC. The talks are: We also have a host of pre-conference content available on YouTube. We look forward to seeing you there!
Pure Virtual C++ 2025: Pre-Conference Videos
Pure Virtual C++ is our free, one-day, virtual conference for the whole C++ community. It is running on 30th April. The first half of our pre-conference videos is now available on YouTube. The videos are: We look forward to seeing you at Pure Virtual C++!