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:
- A refreshed IDE UI
- Support for Visual Studio 2022 extensions out of the box
- Seamless upgrade experience from an older version of Visual Studio
- Microsoft C++ (MSVC) Build Tools v14.50: Greater C++23 conformance and runtime performance improvements
- AddressSanitizer support for ARM64 targets (Preview)
- IDE productivity improvements:
- GitHub Copilot Chat: improved chat experience and new context menu options
- C++ project system changes (MSBuild and CMake)
- New clang-tidy configuration options
- Set command line arguments for the debugger from the toolbar
- Mermaid chart rendering
- Podman support in Container Tools
- Git tools improvements
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 about your Visual Studio experience on Visual Studio Developer Community or from the Help > Send Feedback menu in the IDE.

Over the past 12 months, we fixed 387 C++ related issues and implemented 29 C++ related feature requests in Visual Studio. Many of the new features described in this blog post were suggested by you!
Refreshed UI with 11 themes to choose from
User Feedback: Update UI of Visual Studio 2022 like the new Windows 11 UI – Developer Community
The new IDE includes a UI refresh, from icon and spacing changes to 11 new themes.

Improved settings UI
User Feedback: Unified Settings feedback – Developer Community
The Visual Studio settings (Tools > Options) UI is now integrated into the editor. You can also configure the settings from a JSON file accessible from the new UI.

Your settings will carry forward from older Visual Studio versions with roaming support. However, settings will no longer sync back to older products to ensure a cleaner migration path and forward compatibility.
Bring your Visual Studio 2022 extensions

Visual Studio 2026 works out of the box with your existing Visual Studio 2022 extensions.
Upgrading existing projects to Visual Studio 2026
Check out our blog post, Upgrading C++ Projects to Visual Studio 2026, for an overview of what’s available to you to help you manage your transition to Visual Studio 2026, including continued binary compatibility for the C++ build tools and redistributable and the new Visual Studio setup assistant. Then, take a look at our updated porting and upgrading guide in our documentation.
Microsoft C++ (MSVC) Build Tools v14.50
Version 18.0 of the IDE ships with Microsoft C++ (MSVC) Build Tools version 14.50, offering our best conformance, build performance, and runtime performance story yet, along with a multitude of bug fixes. To get access to all the new language features, be sure to build with /std:c++latest or go with /std:c++23preview if you only need features up to and including C++23.
C++ language improvements in the compiler
C++23 language updates in the compiler are summarized in the C++ Language Updates in MSVC Build Tools v14.50 blog post. They include, but are not limited to:
- P0849R8:
auto(x): decay-copy in the language, for casting x into a prvalue as if passing it as a function argument by value. - P2437R1: Implemented C++23 preprocessing directive
#warningto allow code authors to generate a diagnostic message without stopping translation the way #error does. - CWG Issue 2586: Explicit object parameter for assignment and comparison.
- P2280R4: Using unknown pointers and references in constant expressions.
C++ language features and performance improvements in the standard library
Microsoft C++ standard library (STL) changes are summarized at: Changelog · microsoft/STL Wiki. As this is an open-source project, we welcome community contributions. With the help of the community, we implemented many improvements, including, but not limited to:
- P0472R3: Put
monostatein<utility>. - P3223R2: Making
std::istream::ignore(n, delim)less surprising. This had surprising behavior ifdelimis a char with a negative value. This change removes the surprise to make code more robust. - Partial support for P3697R1: minor additions to standard library hardening to improve memory safety.
- LWG-2503: multiline option should be added to
syntax_option_type. - LWG-4186:
regex_traits::transform_primarymistakenly detectstypeidof a function. - LWG-4222: expected constructor from a single value missing a constraint.
- LWG-4242:
ranges::distancedoes not work with volatile iterators. - A multitude of performance improvements (see changelog for more):
- Improved performance for regex matching.
- Started using
[[msvc::no_unique_address]]as a space optimization in several C++23 components. - Added and improved vectorized implementations of many types and functions.
- Used Clang’s builtin
__is_trivially_equality_comparableto improve the performance ofequal(),ranges::equal, and many vectorized algorithms for more types. - Implemented an exponential speedup for
minstd_randandminstd_rand0's discard()member function - Improved
std::includes()to have the same performance asranges::includes - Improved the performance of
count()forvector<bool>
Compiler runtime performance improvements
Working closely with our game developer partners, we invested in runtime performance improvements for code built with MSVC. We measured these improvements using benchmarks from Unreal Engine City Sample (RenderThread and GameThread):
- Up to +6% faster runtime, as measured on Unreal Engine’s City Sample RenderThread

- Up to +3% faster runtime, as measured on Unreal Engine’s City Sample GameThread

AddressSanitizer support for ARM64 builds (Preview)
In Visual Studio 2019 we added AddressSanitizer support for code built with MSVC to help developers identify memory safety issues with zero false positives using the /fsanitize=address flag. At the time, the support applied to code built for x86 and x64 architectures. This support is now extended to projects targeting ARM64. This ARM64 support is in preview, and we will continue to refine it and fix any incoming bugs in future updates.
IDE productivity improvements
We worked on several developer productivity improvements in 18.0, many in response to feedback from you!
More keyboard shortcut consistency with other editors
User Feedback: Adding a shortcut Ctrl+W to close the file in VS – Developer Community
Several keyboard shortcuts have been added from VS Code and other editors to give you a more consistent experience as you switch between these environments. In the past, this included Ctrl + / to toggle line comments and Ctrl + Shift + P to open Feature Search. But the following shortcuts are new in 18.0:
Ctrl + Wnow closes the current tab (in addition toCtrl + F4)Ctrl + Pnow opens Code Search (in addition toCtrl + TandCtrl + ,)
Syntax highlighting for C++ attributes
User Feedback: Syntax highlighting: use a unique color for C++ attributes – Developer Community
C++ attributes are now colored in the editor, making your code more visually distinctive and easier to read. By default, they use the same theme color as user-defined types.

Class View substring searches and performance improvements
User Feedback: Search in Class View does not work, if search term is not the beginning of the class but part of it – Developer Community
The Class View window now supports substring searches, so you can have an easier time examining the architecture of your code.

In addition, Class View’s performance has been improved for Unreal Engine projects.
Generate preprocessed output
User Feedback: Make it possible to see preprocessed C++ source code (easily in IDE) – Developer Community
You can right-click a C++ file in Solution Explorer and select Preprocess to instantly generate its preprocessed output, making it easy to debug macros and includes, see errors immediately, and avoid manual changes to project settings or interruptions to full project builds.

Enhanced controls in the bottom margin
User Feedback: I wish Visual Studio 2022 able to show file encoding in the editor. – Developer Community
The bottom margin in the editor has been upgraded to be more informative and customizable. Line, column, and character position are now unified into a single display. Clicking it opens the Go To Line dialog for faster navigation. When working with multiple selections, you’ll see total counts for selections, characters, and lines. Hovering over the selection margin reveals detailed info per selection.

File encoding is now displayed in the margin for quick reference. You can also save or reopen a file using a specific encoding, which helps ensure proper display of special characters, supports multiple languages, and maintains consistent readability across systems.
Clicking the encoding margin opens a context menu where you can choose to save or reopen the file. Selecting an option will launch an encoding dialog with a dropdown list of available encodings to choose from.

A new context menu has been added to the margin, giving you full control over what information is shown. This menu includes all the bottom margins in the editor, from the zoom control all the way to the new encoding margin.

You can manage these settings through Tools > Options > Text Editor > General > Display > Show editing context in the editor. For quicker adjustments, right-click the bottom margin to open the new context menu and change what’s shown.
File exclusions in Find in Files / Quick Find
User Feedback: Find and Replace — option to exclude folders – Developer Community
You can now exclude files you never need to look at from Find in Files (Ctrl + Shift + F) and Quick Find (Ctrl + F). To set it up, go to Tools > Options > Environment > Search, and look for the new Exclude files from search results section. There, you can add, edit, or remove glob patterns to control exactly which files are left out of your search results.

GitHub Copilot Chat
GitHub Copilot Chat allows you to use natural language to get answers to questions (Ask mode) or even implement changes for you automatically (Agent Mode). We made several improvements to this feature (listed below), and we also have 3 new features available in Private Preview: New GitHub Copilot capabilities for C++ developers: Upgrade MSVC, improve build performance, and refactor C++ code.
Better responses in Copilot Chat
User Feedback: Visual Studio GitHub Copilot line number difference – Developer Community
Copilot Chat is getting smarter with improved context for your everyday tasks. You can expect better results when searching your codebase and referencing specific lines in your code.
Copilot Actions in context menu
User Feedback: Quickly Get Copilot Assistance from Your Context Menu – Developer Community
A Copilot Actions option was added to the right-click context menu in the Visual Studio editor.

You can use this to interact with a specific file or lines of code in Copilot Chat. You can ask Copilot to explain what the code does, make optimizations, generate comments or unit tests, or just reference it in the chat for you to add your own custom prompt.
Reference commits and changes in the Git Changes window
You can now ask Copilot to summarize uncommitted code changes, explain a specific commit, and more.

You can reference uncommitted changes by adding #changes to your prompt or type #commit: to pull up a list of the most recent commits for you to select. You can also reference a specific commit id.

With the context of your changes or commits, you can then ask Copilot to answer questions in Ask Mode or perform tasks in Agent Mode like writing unit tests or finding bugs.
Reference URLs in your questions
You can paste a URL in the prompt box and Copilot will pull information from the web to prepare its response. For example, you can ask Copilot to write a readme file based on best practices from GitHub or to look at reference material while preparing an answer to a question.

This only works for public URLs and static HTML content.
C++ Project Systems
Visual Studio 2026 continues to maintain native support for MSBuild, CMake, and Unreal Engine projects.
C++20 default for new MSBuild projects
Many MSBuild projects generated using new project templates now target C++20 by default. This includes the Console App, Windows Desktop Application, Dynamic-Link Library, and Static Library.
CMake projects in Visual Studio 2026
Visual Studio 2026 now includes CMake 4.1.1 by default. CMake also includes a Visual Studio 2026 generator and modern SLNX projects, allowing you to build Visual Studio C++ projects directly from CMake.
Diagnostic Tools now support CMake projects
CMake projects now have native support for profiling tools including CPU Usage, Events Viewer, memory usage, and File IO tools in Visual Studio. The CPU Usage tool also includes Copilot-powered performance insights, helping you detect and resolve bottlenecks even faster.

Tailored for game developers and performance-critical workflows, this update lets you:
- Identify performance bottlenecks and optimize compute-heavy code with the CPU Usage Tool.
- Track runtime events like exceptions, logs, and HTTP requests with the Events Viewer.
- Analyze file access patterns, durations, and throughput with the File IO Tool.
Clang-tidy updates
User Feedback:
- clang-tidy needs to use all cores available. – Developer Community
- Support extra args for clang-tidy – Developer Community
The clang-tidy code analysis tools in Visual Studio have new configuration options. You can allocate more processors to run code analysis as part of your build, speeding up your development workflow. Plus, you can add custom arguments to the command line to invoke clang-tidy, giving you complete control over your analysis setup.

You can access these powerful new options from Project Properties > Code Analysis > Clang-Tidy.
Debugging: Set command line arguments for any C++ projects
The ability to set command line arguments for the debugger from the toolbar has been expanded to include all .vcxproj, CMake, and Unreal Engine projects. The feature has also received the following improvements:
- Go directly to the underlying debugger command line argument setting for your project type.

- A clear indication of an empty command line argument setting that retains your ability to easily identify and locate the toolbar dropdown.

This feature is no longer tied to the Game Development with C++ workload and is available to all C++ developers without needing to install any additional workloads or components.
To learn more, take a look at the Pass command-line arguments documentation.
Mermaid chart rendering
User Feedback: Mermaid support and code highlighting in markdown previews – Developer Community
You can now render Mermaid charts in the markdown editor preview window, where you can provide your own Mermaid syntax or generate it with Copilot. This lets you visualize complex data structures and workflows in the IDE.

Podman support in Container Tools
Visual Studio Container Tools now support Podman, a popular container management tool that provides a daemonless container engine. This allows you to run and manage containers using the Podman CLI directly from Visual Studio.

To get started, simply start Podman and open your solution in Visual Studio.
Git tools
The Visual Studio Git tools also received some updates:
- Copilot-generated code reviews now use updated reasoning models to provide more insightful and precise comments.
- Code review comments are now generated for the entire change set at once rather than file-by-file, resulting in improved performance and a more comprehensive review.
- When you view Copilot generated comments on your uncommitted changes, you will now see a list of comments in the Git Changes window. You can double click a comment to navigate to that line of code in the editor.
- You can apply suggested code changes from a PR comment by clicking the sparkle button at the top right of the comment. If there aren’t any suggestions, you can request Copilot to suggest a change based on the comment.
Download Visual Studio 2026
Ready to get started? Try out Visual Studio 2026 version 18.0 today and feel free to share your feedback below! Also check out the release notes for a full list of what’s changed!
0 comments
Be the first to start the discussion.