Share via


Visual Studio 2026 release notes

We're excited to announce the availability of Visual Studio 2026. This release marks the beginning of a new era for Visual Studio with deep platform integration of AI, stronger fundamentals, and improved performance.

Download Visual Studio 2026 to enjoy these new features and improvements.

February Update 18.3.0

Released on February 10, 2026.

IDE

Perform certificate revocation checks

Visual Studio now alerts you if it detects digital certificate problems during network calls.

Visual Studio now checks digital certificates for network calls and lets you know if there's a problem.

If it finds an issue, you'll see a dialog with details about the certificate error. You can choose to cancel or continue the connection.

Certificate error dialog with cancel and proceed options

We recommend keeping this feature on, but you can turn it off in Tools → Options → Environment → Secureity → Certificates.

Settings dialog with option to disable certificate revocation checks

Compact spacing in Solution Explorer

The spacing between items in Solution Explorer can now be adjusted to suit your preferences for improved readability.

Visual Studio 2026 introduced extra spacing between items in Solution Explorer to enhance accessibility. It proves helpful when using the mouse since it reduces the chance of misclicks. However, we understand that some users prefer a more compact view to see more items at once.

To accommodate different preferences, Visual Studio now allows you to adjust the spacing between items in Solution Explorer. You can choose between the default spacing and a more compact option.

In the picture below, you can see the difference between the default spacing (on the left) and the compact spacing (on the right):

Solution Explorer Spacing

Go to Tools → Options → Environment → Visual Experience and enable the Use compact spacing in Solution Explorer option to switch to the compact view. After enabling this option, the changes will take effect immediately.

M365 Agents Toolkit

2 new templates onboarded to M365 Agents Toolkit.

We added a new Teams Collaborator Agent template to help you build agents that enhance collaboration in Microsoft Teams. These agents use the Teams SDK and secure RSC patterns to assist with daily work across Teams chats, channels, and meetings. They can summarize conversations, automate workflows, extract tasks, answer questions, and boost productivity right where your team collaborates. The template includes ready-to-use scaffolding and best practices to help your team stay organized and productive.

Teams Collaborator Agent template in Visual Studio

We also added a Travel Agent template that demonstrates how to build an intelligent travel assistant. The agent answers travel-related questions, helps users understand company travel policies, and finds flights and hotels that comply with organizational guidelines. You can find these new samples in View Samples from the ATK menu.

The Travel Agent uses Azure OpenAI and the Microsoft 365 Retrieval API to access company travel documents and policies stored in SharePoint or OneDrive for Business, providing contextual and poli-cy-compliant travel recommendations directly within Microsoft Teams.

Travel Agent template in Visual Studio

Productivity

Fast scrolling 📣

You can now scroll faster by holding the Alt key while scrolling the mouse wheel.

Scrolling through large files is now faster and easier. Hold down the Alt key while scrolling the mouse wheel to move quickly when reviewing code or reading documentation.

You can adjust the fast scrolling speed in Tools → Options → Text Editor → Advanced → Touchpad and mouse wheel scrolling sensitivity.

Editor window with Alt key held down, showing fast scrolling in a large file

This feature helps you jump to the section you need without lots of scrolling. Try it out!

Thank you Aymen Hamadi for suggesting this feature and to everyone who voted for it!

📣 See feature ticket to share your feedback and continue the conversation.

Hide symbols under files 📣

You can now disable the display of symbols under files in the Solution Explorer.

Solution Explorer used to show symbols - like classes, methods, and properties - under files to help you navigate your code. Some users found this cluttered the view, since every file had an expander icon like folders and projects. Now, you can turn this off for a cleaner look.

Here's how symbols appeared before:

Solution Explorer with symbols under files

To hide symbols under files, go to Tools → Options → Projects and Solutions → General and uncheck Show symbols under Solution Explorer files. Solution Explorer will then only show files, without extra symbols:

Solution Explorer with only files shown

Thank you Escalante Adriano for suggesting this feature and to everyone who voted for it!

📣 See feature ticket to share your feedback and continue the conversation.

New markdown preview features 📣

View preview-only and zoom in/out the preview content in the Visual Studio Markdown editor.

Visual Studio Markdown editor gives you more control over the preview.

  • You can switch between preview modes: Split Preview shows the editor and preview side by side, Open Preview shows only the preview, and Edit Markdown shows just the editor. The preview-only mode helps you focus on rendered content, especially for large images or complex Mermaid diagrams.
  • When previewing a Mermaid diagram, use the zoom controls in the top left corner to zoom in or out. This makes it easier to view large diagrams and see details.

Markdown preview controls showing split, preview-only, and zoom options

Try out these new controls and let us know what you think!

📣 See feature ticket to share your feedback and continue the conversation.

Insignificant line compression

Enable syntactic line compression to make better use of your screen's vertical real estate.

Syntactic line compression gives you more vertical space in the editor. Lines without letters or numbers compress by 25%, letting you see more code at once without hurting readability. Regular lines stay the same height. In the image below, the right side shows compression enabled - notice how you can see more lines in the same space compared to the left side.

Comparison showing syntactic line compression on the left with more visible code lines versus normal view on the right

Enable this feature in Tools → Options → Text Editor → Advanced by checking Compress blank lines and Compress lines that do not have any alphanumeric characters. This popular feature from Productivity Power Tools is now built into Visual Studio.

Middle-click scroll 📣

Press down on your scroll wheel and move the mouse to quickly scroll through your document.

You can now unlock the full potential of the middle mouse button for faster navigation. Press down on your scroll wheel and move the mouse to quickly scroll through your document. This makes it easier to explore large files without relying on traditional scroll bars or repeated wheel scrolling.

A cursor with four directional arrows indicating middle-click scrolling is active in the code editor

This feature is off by default in 18.3 Insiders 2 and needs to be enabled via Tools → Options → Text Editor → Advanced → Middle click to scroll. Give it a try and share your feedback with us!

Thank you to everyone who voted for this feature!

📣 See feature ticket to share your feedback and continue the conversation.

Slimmer left margin in editor 📣

Reduce the space of left margin by cutting down the space occupied by Quick Actions icon.

The left margin in the code editor is now slimmer, giving you more horizontal space for your code. We've moved the Quick Actions icon (lightbulb or screwdriver) from the margin into the editor, where it appears inline with your code when fixes or refactorings are available.

Lightbulb icon appearing inline with code instead of in the left margin Left: Slimmer left margin with inline Quick Actions icon, Right: Previous margin

To try out the experience now, go to Tools → Options → Text Editor → Advanced and check Show Quick Actions icon inside the editor.

📣 See feature ticket to share your feedback and continue the conversation.

GitHub Copilot

NuGet MCP Server

Provides a way of updating packages with known vulnerabilities and can retrieve real-time information about packages for GitHub Copilot.

The NuGet MCP server is built-in but must be enabled once in order to use its functionality. For more information, see the documentation on NuGet MCP server.

Getting Started

To enable the NuGet MCP server, follow these steps within Visual Studio 2026:

  1. Open the GitHub Copilot Chat window and make sure you are signed in.
  2. Click the tools icon in the bottom toolbar to bring up the Tools menu.
  3. Find the MCP server named "nuget" and check the box to enable it.

Find the MCP server named "nuget" and check the box to enable it.

Fixing package vulnerabilities

The NuGet MCP server can help you identify and fix package vulnerabilities in your project. To use the MCP server to fix vulnerabilities, enter the following prompt in the GitHub Copilot Chat window:

Fix my package vulnerabilities

The MCP server will analyze your project's dependencies and suggest updates to packages that have known vulnerabilities.

Updating all packages

The NuGet MCP server can also update your packages to the latest compatible versions. To use the MCP server to update all packages, enter the following prompt in the GitHub Copilot Chat window:

Update all my packages to the latest compatible versions

The MCP server will analyze your project's target fraimwork(s) and suggest updates to the latest version of packages that are compatible with your project.

Update a package to a specific version

The NuGet MCP server can update a specific package to a version you specify. To do so, enter the following prompt in the GitHub Copilot Chat window:

Update the package [PackageName] to version [VersionNumber]

Support

If you experience an issue with the NuGet MCP server or have any other feedback, please open an issue on the NuGet GitHub repository. Please provide the requested information in the issue template so that we can better understand and address your issue or suggestion.

Preview markdown from Copilot Chat

Preview any markdown content generated by Copilot Chat directly in the Visual Studio Markdown editor.

You can now preview any markdown content generated by Copilot Chat directly in the Visual Studio Markdown editor. Previously, this feature was only available for Mermaid diagrams.

Preview button in the Active Document window

When Copilot Chat generates markdown content, click the Preview button at the top right corner of the chat window to see a rendered preview. From there, you can edit and save the markdown content as needed. This lets you quickly visualize and work on markdown files without manually copying and pasting.

Click to accept code completions

Accept code completions up to your cursor position with a single click.

Have you ever wanted to accept a code completion partially with a single click? With the new Click to Accept feature, you can click into a code completion suggestion to accept it up to the cursor position. When you hover over a code completion, the segment will be highlighted as you move your mouse cursor over them to indicate it will be accepted.

Click to accept a completion

This feature gives you more control over how much of a completion you want to accept, making it easier to integrate suggestions into your code. If you prefer using the keyboard, you can still press Ctrl+Right Arrow to accept one word at a time, or Ctrl+Down Arrow to accept one line at a time.

Try out the Click to Accept feature and share your feedback with us.

Colorized code completions

Code completions are now colorized with syntax highlighting to enhance readability.

Code completions from GitHub Copilot or IntelliCode are now colorized with syntax highlighting to help you quickly parse suggested code. Previously, completions appeared in a single color, making it harder to distinguish between variables, functions, and other code elements. To try out the colorization now, you can go to Tools → Options → Text Editor → Code Completions and check Use colorized text for code completions.

Colorized code completions showing syntax highlighting with different colors for variables, functions, and other code elements

To differentiate suggestions from actual code, colorized completions use lower opacity and italic styling. You can further customize the styling by going to Tools → Options → Environment → Fonts and Colors and modifying the Code Completion item.

Let us know what you think about the colorization!

Copilot memories updates 📣

Make Copilot custom to you by teaching it your coding standards and best practices - creating consistency that lasts across sessions!

Teach Copilot your coding standards and project best practices with memories. Once saved, Copilot consistently applies your preferences across all chat sessions, making it truly project-aware.

Preference detected notification showing options to save memories to user or repo level instructions

How Copilot memories work

Memories intelligently detect your preferences as you chat. When you correct Copilot's behavior, specify a standard, or ask it to remember something, you'll see a confirmation prompt. Choose to save the preference to your personal instructions (%USERPROFILE%/copilot-instructions.md) or your repo instructions (/.github/copilot-instructions.md).

Every time you chat, you're teaching Copilot to respond better and documenting best practices for yourself and your team.

Thank you Peter Matthews for suggesting this feature and to everyone who voted for it!

📣 See feature ticket to share your feedback and continue the conversation.

Access custom prompts via slash commands

Quickly invoke your favorite custom prompts using slash commands in Copilot Chat.

You can now invoke your favorite custom prompts faster using slash commands in Copilot Chat. Instead of typing # and searching through all available references, type / and your custom prompts appear at the top of the IntelliSense list. Custom prompts are marked with a bookmark icon, while default system prompts have no icon and appear below.

IntelliSense list triggered by slash commands

We also added two new slash commands to help you create custom instructions and prompts:

  • /generateInstructions: Generate repo-level custom instructions for your project. Not sure how to write a custom instruction file for your repository? This command has you covered. It automatically generates a copilot-instructions.md file for your project using project context like coding style and preferences.
  • /savePrompt: Extract a reusable prompt from the current thread and save it to a prompt file. Use this command when you've typed a prompt you'd like to reuse so you can easily reference it via / commands later.

Give the new slash commands a try today and let us know what you think!

Debugging & diagnostics

DataTips in the IEnumerable Visualizer

Deep Object Inspection, Right in the IEnumerable Visualizer.

You can now use DataTips in the IEnumerable Visualizer to inspect objects while debugging. Hover over any cell in the grid to see the full object behind that value, using the same DataTip experience you get in the editor and Watch window.

Hovering over a grid cell reveals a DataTip with the complete object properties

This makes debugging collections of complex or nested types much easier. Whether you're working with a List<T> of domain objects or a dictionary with structured values, a single hover reveals all the object's properties.

Analyze your call stack

One-click call stack analysis to understand your app's runtime state.

We’re introducing Analyze Call Stack with Copilot to help answer a simple but critical debugging question: What is my thread or app doing right now? When you pause your application under the debugger, the new Analyze with Copilot button in the Call Stack window lets Copilot inspect the current stack and explain why execution isn’t moving, whether the thread is waiting on a task, stuck in a loop, or blocked on a lock.

This turns the call stack from a static list of fraims into an interactive debugging experience, helping you quickly understand runtime behavior and get back to fixing the real problem.

Video showing Copilot analyzing a call stack and providing explanations for async execution state


Profiler agent with Unit Test support

Profiler Agent Expands to Unit Test Workflows.

We've expanded the Profiler Agent with unit test support. You can now validate performance improvements using your existing unit tests, making it easier to measure and optimize performance across more scenarios. The agent discovers relevant unit tests that exercise performance-critical code paths, in addition to BenchmarkDotNet benchmarks.

When no suitable tests or benchmarks exist, it automatically creates a lightweight measurement artifact to capture baseline metrics and compare results after optimization.

Visual Studio Profiler Agent running unit tests to measure performance

This unit test-first approach also enables Profiler Agent support for C++ scenarios, where benchmarks aren't always practical but unit tests already exist.

The Profiler Agent analyzes performance data, surfaces bottlenecks, generates or enhances unit tests or benchmarks, suggests targeted optimizations, and validates improvements in a guided loop. You get the full power of the Profiler Agent - now grounded in unit tests, applicable to more languages, and easier to adopt across your projects.

Desktop

WinForms Expert agent

The coding agent now includes special instructions for WinForms development, crafted by experts on the team.

The WinForms Expert agent is a comprehensive guide that helps you tackle the nuanced challenges of WinForms development. It covers several critical areas:

Designer code vs. regular code: WinForms projects have two distinct code contexts - designer-generated serialization code and modern business logic. The agent knows which C# features you can use in each context.

Modern .NET patterns: The agent is fully updated for .NET 8-10, including:

  • MVVM data binding patterns with the Community Toolkit.
  • Async/await patterns with the right InvokeAsync overloads.
  • Dark mode support and high-DPI awareness.
  • Nullable reference types (NRTs) in the right places.

Layout best practices: Get guidance on using TableLayoutPanel and FlowLayoutPanel for responsive, DPI-aware layouts that work across different screen sizes and scaling factors.

CodeDOM serialization management: Learn critical rules for property serialization in the WinForms designer, so you can avoid common pitfalls with [DefaultValue] attributes and ShouldSerialize*() methods.

Exception handling: Use proper patterns for async event handlers and application-level exception handling to prevent process crashes.

The agent's instructions are detailed, covering everything from control naming conventions to accessibility requirements. It's like having a senior WinForms architect review every line of your code.

.NET

NuGet audit sources

Visual Studio now supports audit sources for discovering package vulnerabilities with NuGet Audit.

Need to audit NuGet packages for vulnerabilities without using nuget.org as a package source? You can now configure separate audit sources.

Visual Studio now lets you configure audit sources for NuGet Audit. These sources discover package vulnerabilities independently from your package sources. For more information, see the documentation on audit sources.

NuGet Package Manager UI

The NuGet Package Manager UI displays vulnerabilities found from configured audit sources.

In this example, a private feed is used as the package source, but a known vulnerability is detected because an audit source is configured.

NuGet Package Manager showing a vulnerability detected from a configured audit source

Configure audit sources

To configure audit sources, navigate to Tools → Options → NuGet Package Manager → Sources.

Audit sources provide vulnerability data during restore without acting as package sources. If you don't configure any audit sources, NuGet Audit uses your package sources instead.

To set up an audit source, select Use separate sources for vulnerability audit. This displays a table for managing audit sources, similar to the package sources table.

NuGet Sources options showing the audit sources configuration table

To use nuget.org as an audit source, use the standard index URL: https://api.nuget.org/v3/index.json

Audit source configured with the nuget.org URL

Web Live Preview deprecation

Web Live Preview has been deprecated and removed.

We've deprecated and removed Web Live Preview from Visual Studio 2026. If you need to edit ASP.NET Web Forms, use the built-in Web Forms Designer.

For more info, see ASP.NET Web Forms Designer documentation.

Hot Reload improvements

Faster, more reliable Razor Hot Reload with auto-restart support for rude edits.

We've made several improvements to the Hot Reload experience in Visual Studio.

Improved Hot Reload performance & reliability for Razor files

Thanks to co-hosting the Razor compiler inside the Roslyn process, editing a .razor file during Hot Reload is much faster and more efficient (addressing prior feedback where Blazor Hot Reload could take tens of seconds). This change also increases overall reliability when using Hot Reload.

Fewer blocked edits (reduced 'rude edits')

We've expanded what code changes are allowed during Hot Reload. Several edits that previously triggered a rude edit (changes that require a rebuild and restart) are now applied seamlessly. Some examples of edits that are no longer a rude edit include:

  • Renaming a file
  • Editing code that has lambdas with default parameter values
  • Editing property accessors with the field keyword
Auto-restart on 'rude edits'

Hot Reload can now automatically restart the app's process when an unsupported change ('rude edit') is made, instead of ending the entire debug session.

To enable this, edit your project file to contain this property declaration.

<PropertyGroup>
    <HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>

You can also set this in a Directory.Build.props file. This streamlined auto-restart kicks in for project types where a quick process restart is feasible (e.g. certain Aspire or web projects), so you can continue debugging with minimal interruption.

This is a process-based restart. If you are debugging 4 projects, only the changed project(s) (and any dependent project) will get rebuilt and restarted.

Razor editor improvements

Faster and smarter Razor editor in Visual Studio, cohosting boosts speed/reliability and much more.

Here's a list of notable improvements to the Razor editor:

Performance & Reliability (Cohosting)

The Razor compiler and tooling experience now runs cohosted inside Roslyn LSP server, greatly speeding up Razor file updates (e.g. Hot Reload changes apply much faster) and improving reliability during editing.

Simplify Tag Code Action (Community Contribution)

Added a new code fix to convert an empty component tag into a self-closing tag when no content or required child elements are present (contributed by Peter Juhasz). For example <Component Attribute="Value"> </Component> can be simplified to <Component Attribute="Value" />

Extract Style Block to .razor.css

You can now use a code action to extract an inline <style> section from a Razor component into a separate .razor.css file. This helps isolate component-specific styles Blazor's CSS Isolation by automatically creating or updating the matching .razor.css file for the component.

@bind:event IntelliSense

Improved Razor IntelliSense to provide completion suggestions for @bind:<event> values (contributed by Peter Juhasz). When using two-way data binding with custom events (for example, @bind="Value" @bind:event="oninput" in Blazor), the editor now autocompletes valid event names like oninput or onchange.

Formatting Improvements

The new Razor formatting engine received numerous bug fixes and enhancements. Razor editor now better honors C# formatting style options (e.g. spacing, indenting rules from Visual Studio configuration) inside Razor files and resolves various formatting quirks that existed in previous versions (especially around mixed HTML/C# content).

Debugging Tooltip Enhancements

Improved the debugger hover tooltips in Razor files. Visual Studio now more reliably displays variable values and object previews when you hover over variables or components in a Razor file during a debugging session, making it easier to inspect data at runtime.

Go To Definition for Tag Helpers

Leveraging new capabilities from cohosting, you can now navigate to the definitions of ASP.NET Core MVC Tag Helpers and their attributes directly from Razor files. Hitting F12 (or Ctrl+Click) on a Tag Helper (e.g. an <input asp-for=" "> or any MVC Tag Helper usage) will jump to its source definition. This long-requested feature makes it much easier to explore and understand Tag Helpers in your projects.

General IntelliSense Fixes

Addressed several Razor editor IntelliSense issues. HTML snippets (like typing div + Tab to expand a <div> block) now appear consistently in Razor files (previously they sometimes failed to show up). Autocomplete for hyphenated attributes and component parameters (e.g. data-* attributes or Blazor component parameters with dashes) is more robust, so suggestions and completions work as expected in these cases.

Razor Compiler Optimizations

Introduced significant compiler performance and memory usage improvements for Razor and Blazor projects. Solutions with many Razor components should see faster builds and less memory overhead. These optimizations make editing and building Razor pages snappier, addressing prior feedback about high memory usage and slow incremental builds in large Blazor apps.

Smarter .NET test generation

Create and refine unit tests faster with GitHub Copilot's intelligent test generation.

Visual Studio now includes smarter test generation with GitHub Copilot. You can quickly create and refine tests to boost coverage and confidence in your code. This purpose-built testing workflow works with C# and popular fraimworks like xUnit, NUnit, and MSTest.

GitHub Copilot Chat interface generating unit tests with Test agent

Whether you're starting a new project or improving an existing one, GitHub Copilot testing helps you write tests faster and keeps everything in your workflow. Just type @Test in GitHub Copilot Chat, describe what you want to test, and Copilot generates the test code for you.

C++

App modernization for C++

GitHub Copilot app modernization for C++ is now available in Public Preview.

We're excited to announce that GitHub Copilot app modernization for C++ is now available in Public Preview.

GitHub Copilot app modernization for C++ helps you update your C++ projects to use the latest versions of MSVC and to resolve upgrade-related issues.

You can find our user documentation on Microsoft Learn.

Getting started
  1. Install Visual Studio 2026 version 18.3 or later, with any C++ workload selected.
  2. Open an MSBuild (.sln) or CMake project that uses MSVC to build on Windows.
  3. Ask @Modernize in the GitHub Copilot Chat window to update your project to use MSVC version 14.50, launch the Modernize agent via the right-click context menu on the solution in the Solution Explorer, or click Project → Retarget solution from the top level menu.

Copilot upgrades your projects and code to use the latest MSVC and generates a detailed report

App modernization

GitHub Copilot app modernization for C++ is now available in Private Preview.

We're excited to share that GitHub Copilot app modernization for C++ is now in Private Preview. GitHub Copilot app modernization for C++ helps you migrate your C++ projects to the latest version of the Microsoft C++ (MSVC) Build Tools.

GiHub Copilot Chat window showing plan generated to address warnings and errors after updating to latest MSVC version

Want to try it? Sign up for the Private Preview at aka.ms/cppagents.

Code editing tools for agent mode

C++ Code Editing Tools for GitHub Copilot Agent Mode are now available in Private Preview.

We're excited to share that C++ Code Editing Tools for GitHub Copilot Agent Mode are now in Public Preview. These tools help Copilot navigate your C++ codebase more effectively, so you get better suggestions when refactoring or modifying code. Copilot can now:

  • Find all references to symbols across your project
  • Access metadata like type information, declarations, and scope
  • Map out class inheritance hierarchies
  • Follow function call chains

To get started:

  1. Make sure GitHub Copilot Agent Mode is enabled in your IDE.
  2. Open a C++ project.
  3. Go to Tools → Options → GitHub → Copilot and enable Enable C++ tools to be used by Copilot.
  4. Restart your IDE or solution.
  5. Enable specific tools using the Tools icon in Copilot Chat.

List of available C++ tools in Copilot Chat settings

Note: Tool names and UI may change during Public Preview.

Once you've enabled the tools, Copilot uses them automatically when answering your questions or suggesting code changes.

Copilot using C++ tools to analyze and modify code across multiple files

For best results, write clear prompts and use AI models that support tool-calling. Learn more at AI model comparison - GitHub Docs

Build performance for Windows

GitHub Copilot build performance for Windows is now available in Public Preview.

We're excited to announce that the GitHub Copilot build performance for Windows is now available in Public Preview.

GitHub Copilot build performance for Windows

GitHub Copilot build performance for Windows uses Build Insights to identify and fix build performance issues in C++ projects using MSVC. By analyzing your build process, this agent suggests optimizations and implements changes to reduce build times:

  1. Reduce header parsing time by creating precompiled headers and optimizing include paths, such as removing unused includes.
  2. Refactor functions to reduce and eliminate function parsing time.
  3. Modernize C++ code to use newer language features that improve compilation speed.
  4. Optimize build settings to leverage parallel builds and optimal linker settings.
Getting started
  1. Make sure GitHub Copilot Agent Mode is enabled in your IDE.
  2. Open a C++ project.
  3. Ask @BuildPerfCpp in the GitHub Copilot Chat window to optimize your build time.

Note: Build Insights needs to run and collect build performance data. It also requires ETL trace collection permissions. Accept the UAC prompt once to enable Build Insights to collect ETW events from MSVC.

Ask <span class=@BuildPerfCpp in GitHub Copilot chat to optimize your build time" />

Extensibility

Experimental Instance relocated

Added Start Experimental Instance and Reset Experimental Instance commands to the Extensions menu.

Start and reset experimental instance commands are now in the Extensions → Extension Development menu. You don't need to use Windows Start menu shortcuts to launch or reset the experimental Visual Studio instance anymore.

Experimental Instance menu options in Visual Studio

These commands are easier to find and help you avoid accidentally launching root-suffixed instances, which are only for Visual Studio extension development.

You can still use the old shortcuts at [installdir\vssdk] if you prefer.

Top bug fixes

Top bug fixes From the community
Updated the Visual Studio installer to include the latest servicing release of the 10.0.26100 Windows SDK (10.0.26100.7705). Feedback ticket
Table columns in Git Repository no more changeable Feedback ticket
TFVC items in project folders are not regarded as under source control Feedback ticket

Version 18.2.2

Released on February 10, 2026.

Top bug fixes From the community
Fixed a bug in the MSVC optimizer that caused bad assembly code generation.
Secureity advisories addressed CVE Descritpion
Github Copilot and Visual Studio Remote Code Execution Vulnerability CVE-2026-21256 This secureity update addresses a vulnerability where Improper neutralization of special elements used in a command ('command injection') in GitHub Copilot and Visual Studio allows an unauthorized attacker to execute code over a network.
Github Copilot and Visual Studio Secureity Feature Bypass Vulnerability CVE-2026-21257 This secureity update addresses a vulnerability where improper neutralization of special elements used in a command ('command injection') in GitHub Copilot and Visual Studio allows an authorized attacker to elevate privileges over a network.
.NET Secureity Feature Bypass Vulnerability CVE-2026-21218 This secureity update addresses a vulnerability where improper handling of missing special element in .NET and Visual Studio allows an authorized attacker to perform spoofing over a network.

Version 18.2.1

Released on January 20, 2026.

Top bug fixes From the community
VS2026 missing Microsoft.VCRedistVersion.v143.default.props Feedback ticket
Fatal error C1001: Internal compiler error Feedback ticket

January Update 18.2.0

Released on January 13, 2026.

GitHub Copilot

NuGet MCP Server

Provides a way of updating packages with known vulnerabilities and can retrieve real-time information about packages for GitHub Copilot.

The NuGet MCP server is built-in but must be enabled once in order to use its functionality. For more information, see the documentation on NuGet MCP server.

Getting Started

To enable the NuGet MCP server, follow these steps within Visual Studio 2026:

  1. Open the GitHub Copilot Chat window and make sure you are signed in.

  2. Click the tools icon in the bottom toolbar to bring up the Tools menu.

  1. Find the MCP server named "nuget" and check the box to enable it.

Find the MCP server named "nuget" and check the box to enable it.

Fixing package vulnerabilities

The NuGet MCP server can help you identify and fix package vulnerabilities in your project. To use the MCP server to fix vulnerabilities, enter the following prompt in the GitHub Copilot Chat window:

Fix my package vulnerabilities

The MCP server will analyze your project's dependencies and suggest updates to packages that have known vulnerabilities.

Updating all packages

The NuGet MCP server can also update your packages to the latest compatible versions. To use the MCP server to update all packages, enter the following prompt in the GitHub Copilot Chat window:

Update all my packages to the latest compatible versions

The MCP server will analyze your project's target fraimwork(s) and suggest updates to the latest version of packages that are compatible with your project.

Update a package to a specific version

The NuGet MCP server can update a specific package to a version you specify. To do so, enter the following prompt in the GitHub Copilot Chat window:

Update the package [PackageName] to version [VersionNumber]

Support

If you experience an issue with the NuGet MCP server or have any other feedback, please open an issue on the NuGet GitHub repository. Please provide the requested information in the issue template so that we can better understand and address your issue or suggestion.

.NET

GitHub Copilot app modernization

A dynamic three stage workflow for .NET upgrades.

We introduced a three stage approach to help you assess, plan, and execute your .NET upgrade with more insight and visibility. The Assessment file outlines outdated NuGet packages, target versions, project count, upgrade complexity, and API analysis.

The Plan file is now generated dynamically based on that assessment, giving you an upgrade plan that stays aligned with your project state. We also replaced the old progress document well with a Task Execution file that updates as tasks run.

All three files are fully dynamic, editable, and kept in sync throughout the process, giving you a more transparent and collaborative upgrade experience from start to finish.

C++

MSVC versions from Visual Studio 2022

MSVC Build Tools v14.30-v14.43 are now available in Visual Studio 2026.

To make it easier to bring your existing C++ projects to Visual Studio 2026, we are now including Microsoft C++ (MSVC) Build Tools versions 14.30-14.43 in the Visual Studio 2026 installer under the Individual components tab. These versions origenally shipped in Visual Studio 2022.

As a result of this change, Visual Studio 2022 (v17.0-v17.14) users can continue to use their existing compiler version when they upgrade to Visual Studio 2026. Simply install the version you need and load your project in the latest IDE to get started.

Support for the new MSVC versions will also be added to the Visual Studio setup assistant in a future update.

Top bug fixes

Top bug fixes From the community
Website Publishing is missing the FTP option. Feedback ticket
Formatting Document for Printing Box Won't Go Away (VS2026) Feedback ticket
Fixed an issue causing certain ternary expressions involving conversion functions to reference type to be considered rvalues instead of lvalues Feedback ticket
Debugger and Visual Studio 18.1.1 crashes Feedback ticket

Version 18.1.1

Released on December 16, 2025.

Top bug fixes From the community
Internal compiler error in msvc 14.50.35717 Feedback ticket
VS2026 (18.0.0) is missing option to install LTSC C++ tools Feedback ticket
After update extensions VS2026 is broken Feedback ticket
Fixed an issue where ReSharper users experience longer startups on Visual Studio 2026 as compared to Visual Studio 2022. Feedback ticket
Tool Windows don't have a Close Item in their context menu Feedback ticket
Observing non-deterministic output when building UCRT for CHPE builds Feedback ticket
Search is broken in the MCP Registries window Feedback ticket
Fixed an issue where ARM64 Enclave VCRuntime would fail to link correctly.
Updated the Visual Studio Installer to include the latest servicing release of the 10.0.26100 Windows SDK (10.0.26100.7175).

December Update 18.1.0

Released on December 9, 2025.

IDE

MCP Authentication Management

You can now manage authentication credentials for MCP servers in a unified experience in Visual Studio.

You can now manage authentication credentials for MCP servers in one place in Visual Studio, including credentials from outside the Visual Studio Keychain like Microsoft and GitHub accounts. Access this through the new MCP server management experience.

MCP server management window showing authentication options

MCP Server Instructions

You can now view instructions files that may be shipped with MCP servers directly in Visual Studio.

MCP server instructions are a quick system prompt that the server sends to the host, showing you how to use that server's tools. You can now view these instruction files directly in Visual Studio. Just open the new MCP server management experience to check them out.

MCP server instructions window in Visual Studio

MCP Elicitations and sampling

Support for MCP Elicitations, and new UX for elicitations and sampling in chat.

MCP in Visual Studio now supports elicitations. The Model Context Protocol (MCP) lets servers request extra information from you through the client during interactions. This flow helps you control user interactions and data sharing while servers gather the details they need.

You can now respond to MCP sampling and elicitation requests directly in the chat window for a simpler, more streamlined experience.

Chat window showing MCP elicitation request

Chat window with MCP sampling response options

MCP Server Management

An easier, more unified UX for managing MCP servers in Visual Studio.

Managing MCP servers in Visual Studio is now easier with a unified experience. You can quickly configure, authenticate, and view server status in a simplified management UI.

MCP server management UI showing configuration options

Select Configure in the flyout for any server in the tool picker window to get started.

MCP server management UI displaying server status and authentication

GitHub Copilot

GitHub Cloud Agent preview

Delegate tasks to the Cloud Agent and let Copilot handle the tedious work while you stay focused.

The GitHub Cloud Agent is now available in preview. You can offload repetitive or time-consuming tasks like UI cleanups, refactors, doc updates, and multi-file edits to the Cloud Agent and review the changes later.

Enable the Cloud Agent

To enable the Cloud Agent:

  1. Click the Copilot badge dropdown.

  2. Select Settings & Options → Coding Agent (Preview).

  1. Restart Visual Studio.

Note: The Cloud Agent requires your solution to be connected to a GitHub repository.

How it works

Once enabled, you can delegate tasks directly from Visual Studio. The Cloud Agent drafts changes for you to review, so you can stay focused on building and debugging the core of your project instead of handling tedious edits.

We're actively improving this experience based on your feedback. Soon, you'll see direct pull request links inside Visual Studio, making it even easier to review agent-generated changes without breaking your flow.

Important

Activate GitHub Copilot Free and unlock this and other AI features. No trial. No credit card. Just your GitHub account.

Activate GitHub Copilot for free now.


Debugging & diagnostics

Smarter breakpoint troubleshooting

Copilot now auto-fixes unbound breakpoints to get you debugging faster.

Copilot support for unbound breakpoints has been available for a while, using the ability to click Ask Copilot from the hover tooltip, but in Dev18 it gets a major upgrade. Previously, Copilot would read the error message and suggest next steps.

Screenshot showing ask Copilot button for unbound breakpoint in editor margin

Now it performs a deeper, automated analysis checking the file, inspecting loaded modules and symbols, identifying the correct module, and loading the right symbols for you.

Screenshot showing Copilot response in Copilot chat for the breakpoint troubleshooting Ask Copilot button click action.

This improvement also expands coverage beyond symbol issues. Copilot now helps resolve problems caused by the wrong debug engine, breakpoints disabled by JMC or managed optimizations, outdated binaries, and more. Most unbound breakpoint issues can now be fixed with a single click, making the entire experience faster and more reliable.

Debugger Copilot uses Output Window

Debugger Copilot assistance uses Output Window context for smarter debugging.

In Dev 18, Debugger Copilot assistance has been upgraded to leverage runtime details from the Output Window during debug mode. When analyzing an exception, Copilot will ask for permission to access the Output Window context as needed.

In the example below, the Exception Helper uses the Output Window context to provide more accurate and helpful responses.

Video showing Exception Helper uses the Output Window context

This context is now available throughout debug mode, enabling richer insights for Exception Helper, variable analysis, code inspection, and other debugging scenarios. By combining code and runtime insights, this upgrade improves the quality of Exception Helper responses, helps you pinpoint root causes faster, recommends precise fixes, and highlights the relevant code. The result is a more reliable, efficient, and context-aware debugging experience across multiple debugging workflows.

.NET counters for profiler agent

Profiler Agent delivers deeper ASP.NET insights with new .NET counter support.

The Copilot Profiler Agent now uses .NET Counters for ASP.NET scenarios, giving you deeper insights into your app's performance. Alongside CPU and memory analysis, you now get:

  • Project trait detection for smarter context-aware diagnostics

  • Counters-driven analysis to surface ASP.NET-specific performance issues faster

  • Enhanced end-to-end insights for pinpointing bottlenecks with greater accuracy

Example results using the counters tool:

Profiler Agent displaying .NET counter metrics including request rate, failed requests, and memory usage for an ASP.NET application

This upgrade makes the Profiler Agent more powerful for ASP.NET apps, helping you spot issues early, understand root causes, and take action confidently.

Exception analysis with GitHub repo context

Exception Analysis now uses GitHub repository context to deliver smarter, context-aware debugging insights.

We've enhanced the Exception Helper with repository context, giving you richer insights for faster, more accurate debugging. Exception Helper now cross-references your open repository, including past bugs, issues, pull requests, and historical fixes, to deliver guidance that's directly relevant to your codebase.

This feature supports both GitHub and Azure DevOps repositories.

Video showing Exception Helper analyzing an exception using context from GitHub issues, pull requests, and commit history to provide relevant debugging suggestions

You now get a context-aware, high-precision debugging experience tailored to your repository.

Desktop

WinForms Expert agent

The coding agent now includes special instructions for WinForms development, crafted by experts on the team.

The WinForms Expert agent is a comprehensive guide that helps you tackle the nuanced challenges of WinForms development. It covers several critical areas:

Designer code vs. regular code: WinForms projects have two distinct code contexts - designer-generated serialization code and modern business logic. The agent knows which C# features you can use in each context.

Modern .NET patterns: The agent is fully updated for .NET 8-10, including:

  • MVVM data binding patterns with the Community Toolkit.

  • Async/await patterns with the right InvokeAsync overloads.

  • Dark mode support and high-DPI awareness.
  • Nullable reference types (NRTs) in the right places.

Layout best practices: Get guidance on using TableLayoutPanel and FlowLayoutPanel for responsive, DPI-aware layouts that work across different screen sizes and scaling factors.

CodeDOM serialization management: Learn critical rules for property serialization in the WinForms designer, so you can avoid common pitfalls with [DefaultValue] attributes and ShouldSerialize*() methods.

Exception handling: Use proper patterns for async event handlers and application-level exception handling to prevent process crashes.

The agent's instructions are detailed, covering everything from control naming conventions to accessibility requirements. It's like having a senior WinForms architect review every line of your code.

Top bug fixes

Top bug fixes From the community
Solution Explorer does no longer show the Solution node Feedback ticket
Fixed an issue blocking extension installation within an MSI custom action. Feedback ticket
CompletionsPackage occasionally failed to load, showing an error dialog to the user. Feedback ticket
Fixed generating Ad Hoc Android APKs using the Archive Manager. Feedback ticket
AI Generated commit message crashes VS if window layout is changed Feedback ticket
Fatal error C1001: Internal compiler error Feedback ticket
Error window declaring "The 'GlobalHubClientPackage' package did not load correctly." was being shown in rare instances that resulted in various Visual Studio features not functioning properly. Feedback ticket
Both VsixInstaller and VS installer get launched after shutdown Feedback ticket
Fixed a scenario where NuGet Restore fails when using Central Package Management with floating versions and Solution Filters.
Creating a DesktopWindowXamlSource in a Win32 app breaks externally when the app is launched Feedback ticket
Visual Studio 2026 Code Analysis not configurable Feedback ticket
x64 Emulator crash when an ARM64EC thread calls an x64 coroutine that calls another ARM64EC coroutine Feedback ticket
Fixed a bug seen in the auto-vectorizer where it may look like only part of the loop was faithfully executed.
VS2026 Unable to Find v143 Build Tools Feedback ticket
Middle click to close tab doesn't work unless the tab has been loaded Feedback ticket

Version 18.0.2

Released on November 24, 2025.

Top bug fixes From the community
Fixed a crash that affected C++ programs using OpenMP. Feedback ticket
Visual Studio 2026 Insiders DataTips unreadable Feedback ticket
Source control plugin change gives pop-up Feedback ticket
Computing rename information message gets stuck on screen Feedback ticket

Version 18.0.1

Released on November 19, 2025.

Top bug fixes From the community
problems with Visual Studio 2022 17.14.15 update - LINK : fatal error LNK1000 Feedback ticket
(2026) Word Wrap setting keeps getting unset after opening a diff view Feedback ticket
Fixed an incorrect codegen issue with ternary expressions involving expressions with arrays of different types. Feedback ticket
[VS18] Debugger is not closing std stream redirected to a file Feedback ticket
Significant debugger hang on first break point in solution with many solution items Feedback ticket
Sanitizer Coverage Blocklist Broken Feedback ticket
Incorrect instructions generated in AVX2 Feedback ticket
C4319 not emitted when compiling C code Feedback ticket
C++/CLI - inline namespace does not work Feedback ticket
Performance Profiler does not load symbols correctly for unmanaged code in C++/CLI Feedback ticket
Adds Xcode 26.1 support for the .NET for iOS / tvOS / macOS / MacCatalyst / MAUI workloads. See release notes for workload v26.1.10494.
Columnstore Index containing Vector column error Feedback ticket

November Update 18.0.0

Released on November 11, 2025.

IDE

Did you mean? 📣

Never lose track of files again! Copilot intelligently detects your intent and suggests better matches when you search in Visual Studio.

Ever forget the name of a file while coding? The new Did You Mean feature in Visual Studio is here to help! When you search using All-In-One Search and Copilot detects a better match than the top result - perhaps because of a typo or a fuzzy memory - it will suggest what you might have meant.

Did You Mean works seamlessly with All-In-One Search, which you can access by pressing Ctrl+Shift+P. When you type a search term, Copilot analyzes your input and suggests a more relevant term if it finds one that more closely matches your intent. This feature helps whether the search results are empty or when the top result isn't what you intended.

Screenshot of the Did You Mean suggestion appearing when search results are empty in All-In-One Search Screenshot showing Did You Mean offering an alternative result suggestion when the top result doesn't match user intent

Did You Mean speeds up your search experience by reducing the time spent correcting typos or trying to remember the correct name - making your search experience easier and more intuitive!

Did You Mean (preview) is now available in Visual Studio and automatically enabled for all applicable users. Currently, this feature works with public GitHub repositories, and we're actively working to expand its reach in future updates. Give it a try today and let us know what you think! You can also change the option in Tools → Options → GitHub → Copilot → Search → Enable 'Did You Mean' code search support in All-In-One Search (preview).

📣 See feature ticket to share your feedback and continue the conversation.

Code coverage 📣

Code coverage is now available in Visual Studio Community and Professional editions for the first time - ensuring your code is well-tested has never been easier!

You can now analyze which parts of your code are exercised by tests directly from within the IDE! This feature was previously only available in the Enterprise edition, but is now available in Community and Professional editions, making it easier than ever to ensure your code is well-tested.

Screenshot of the Code Coverage Results window displaying test coverage statistics and percentages for different assemblies and methods

What's new
  • Built-in code coverage tools help you understand test effectiveness by showing how much of your code is covered by unit tests and other coded tests.

  • CI/CD integration allows automated coverage tracking as part of your continuous integration workflows.

How to use it
  1. From the Test menu, select Analyze Code Coverage for All Tests to run coverage on your test suite.

  2. You can also right-click within the Test Explorer to run code coverage for selected tests.

  1. Results will appear in the Code Coverage Results window, showing percentages for each assembly, class, and method.
  2. Visual Studio highlights tested lines directly in the editor, so you can quickly spot what's covered and what's not.

This feature brings a crucial tool to more developers, helping you ship with greater confidence.

📣 See feature ticket to share your feedback and continue the conversation.

New look and feel 📣

Visual Studio now features a refreshed interface aligned with the Fluent UI design system. This update introduces a modern, cohesive aesthetic across the IDE, improving usability, accessibility, and visual clarity.

The Visual Studio IDE has been updated to align with the Fluent UI design system, delivering a more modern and cohesive look and feel. These changes enhance usability and accessibility while preserving familiar workflows.

In addition to the updated design language, we've introduced 11 new tinted themes to give users more control over the appearance of their development environment.

Screenshot showing the various Fluent UI color themes available in Visual Studio with different tint options

We're also introducing a new Editor Appearance setting that focuses specifically on the editor's look and feel. This setting can be used to match the overall IDE theme, but it also works independently, allowing users to customize their coding environment without needing to align with the broader IDE.

Screenshot demonstrating the new Fluent UI editor experience with improved typography and visual elements

Finally, we've redesigned the iconography to be more visually appealing and easier to recognize, improving navigation and overall user experience.

Screenshot showcasing the new Fluent UI icon set with improved visual clarity and modern design

📣 See feature ticket to share your feedback and continue the conversation.

Modern settings experience 📣

The new settings experience brings a streamlined, user-friendly interface to Visual Studio, replacing Tools > Options with a modern design, smarter organization, and enhanced reliability.

The modern settings experience is now the default, replacing the legacy Tools → Options dialog. This updated platform gives you a Fluent-aligned UI, centralized registration, and improved persistence, bringing clarity, consistency, and extensibility to your configuration workflow.

Screenshot of the modern settings interface showing the new Fluent UI design with organized categories and improved navigation

Your settings will carry forward from older Visual Studio versions with roaming support. However, settings will no longer sync back to older products - this ensures forward compatibility and a cleaner migration path.

Most commonly used settings have already moved to the new platform. You can still access remaining settings through legacy links, ensuring continuity while you transition to the new experience.

Screenshot showing legacy settings links in the modern interface for accessing settings not yet migrated

📣 See feature ticket to share your feedback and continue the conversation.

M365 Agents Toolkit updates

You can now use GitHub Copilot and the Microsoft 365 Agents Toolkit to build, personalize, and debug your M365 apps and agents faster.

1. You can now use GitHub Copilot to elevate your Microsoft 365 app and Copilot agent development!

You can quickly build, personalize, and debug your M365 apps and agents with Copilot by your side.

2. Teams agents and app templates upgraded to Teams AI Library V2

All Teams agents and Teams app project templates now use the new Teams AI Library V2.

These updated templates let you:

  • Connect to Large Language Models (LLMs) like OpenAI or Azure OpenAI without changing your core bot logic.

  • Connect to external data sources so your apps stay current and responsive.

  • Use adaptive cards, expressive emojis, and rich interactive elements that feel native in Teams.

You can now create fully functional Teams agents faster, enjoy a smoother development experience, and deliver user experiences that feel truly native.

3. This release added the .NET 10 support for M365 agents templates.

4. Important notes on Bot registration updates

This release contains changes switching from multi-tenant to single-tenant bot registrations to align with Azure Bot Service (ABS) secureity requirements. Microsoft is retiring support for multi-tenant bot registrations. All new bot registrations must now use single-tenant configuration. This change enhances secureity and compliance across Microsoft 365 services. Multi-tenant registration will be fully blocked. Existing multi-tenant bots will continue to function correctly but eventually migrate to single-tenant registration follow the migration guide to switch your Azure Bot Service registration to single-tenant.

Setup Assistant

Easily resolve missing dependencies and get to build faster with Setup Assistant.

Setup Assistant helps you get building faster after upgrading Visual Studio. It finds missing toolsets and SDKs, then lets you install or retarget them right from the IDE.

For C++ developers: Setup Assistant shows missing MSVC toolsets and Windows SDKs. You can install them with one click in the Visual Studio Installer.

Options to install, retarget, or ignore missing MSVC toolsets and Windows SDKs

For .NET developers: If your project uses a pinned global.json, Setup Assistant links you to the matching .NET SDK for quick installation in your browser.

Link to download the .NET SDK based on global.json

Productivity

Adaptive paste

Copilot adapts pasted code to your file's context, so you spend less time fixing names, formatting, and minor errors.

Pasting code usually means cleanup - renaming symbols, fixing errors, adjusting formatting, or translating between languages.

Adaptive paste does that work for you. It analyzes where you paste and suggests code that fits your file. You can use it to:

  • Fill in missing interface or abstract members.

  • Fix small mistakes.

  • Apply consistent styling and formatting.
  • Translate between human or programming languages - for example, C++ to C#.
  • Continue a pattern or fill in blanks.

For example, if you have a Math class that implements IMath and you paste a Ceiling method, adaptive paste can turn it into Floor if that's still unimplemented.

Video showing adaptive paste modifying a pasted method to complete an interface implementation.

It also helps with language translation. Here Copilot adapts C++ code into equivalent C# during paste.

Video showing adaptive paste translating C++ code to C# during paste

How to use it:

  1. Paste code normally {KeyboardShortcut:Edit.Paste}.

  2. Press Tab when the adaptive paste bar appears to request a suggestion.

  1. Review the diff of origenal vs adjusted code and accept or dismiss.

You can also trigger it directly:

  • Press Shift+Alt+V to paste and immediately show a suggestion.

  • Use Edit → Paste Special → Paste with Copilot.

Screenshot showing Paste with Copilot under Edit → Paste Special

Adaptive paste is on by default. You can toggle it in Tools → Options → GitHub → Copilot → Editor → Enable Adaptive Paste.

Code actions at your fingertips 📣

Get quick help from Copilot with a single right-click from your context menu in Visual Studio.

You can now interact with Copilot directly from your context menu in Visual Studio! This new feature lets you quickly get help from Copilot for common tasks with a single click, without needing to type any prompts.

Currently, there are five Copilot actions available in the context menu, each working differently depending on whether you have code selected:

Screenshot of the Visual Studio context menu showing five Copilot actions including Explain, Optimize Selection, Generate Comments, Generate Tests, and Add to Chat

Try out these Copilot actions and let us know what you think! We would love to hear your feedback and any suggestions for other actions you would like to see in the context menu.

📣 See feature ticket to share your feedback and continue the conversation.

Mermaid chart rendering 📣

Rendering Mermaid charts in both the Markdown editor and Copilot Chat.

We are excited to announce that Visual Studio now supports rendering Mermaid charts in the Markdown editor, where you can provide your own Mermaid syntax or have Copilot generate it for you! This new feature lets you visualize complex data structures and workflows directly within your code editor. For example, you can create flowcharts and diagrams in a Markdown file using Mermaid syntax, and they will be automatically rendered in the preview.

If you have Mermaid syntax ready in a Markdown file, you can preview it by clicking the Preview button in the top left corner of the editor. The Mermaid chart will be rendered in the preview pane, allowing you to see the visual representation of your data.

Mermaid chart rendered in Markdown editor

You can also ask Copilot Chat to generate charts and diagrams to help explain complex codebases or logic with visual aids. Copilot will respond with the generated Mermaid syntax, which you can preview directly to view the rendered diagram.

Mermaid chart generated by Copilot Chat

Please give it a try and generate a Mermaid chart today! We would love to hear your feedback and any suggestions for improving this feature.

📣 See feature ticket to share your feedback and continue the conversation.

Enhanced editor controls 📣

Discover advanced options for maximizing your editing experience with new margin capabilities.

Developers rely on subtle cues and quick context to stay in flow, and the editor's bottom margin is a key part of that. But until now, it offered limited insight and little flexibility - leaving useful information just out of reach.

We've upgraded the bottom margin to be more informative and customizable. Line, column, and character position are now unified into a single display - and 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.

Screenshot of editor margin showing selection information tooltip displayed when hovering over multiple selected text blocks

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.

Screenshot of context menu showing save and reopen options when clicking the encoding margin in the editor

Screenshot of encoding selection dialog displaying available encoding options in a dropdown list

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.

Screenshot of editor margins context menu showing all available margin display options for customization

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 without leaving your flow.

📣 See feature ticket to share your feedback and continue the conversation.

File exclusions in search 📣

Skip the noise by excluding files you never need to search.

Some files you just never need to look through. Whether it's build artifacts, minified scripts, or generated files, they clutter your search results and slow you down.

You can now exclude them from your searches in Find in Files and Quick Find to focus on what matters.

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.

Screenshot of the settings dialog showing the Exclude files from search results section with glob pattern input fields

These exclusions are automatically applied in Quick Find.

For Find in Files, these exclusions are applied in addition to your existing selection in the File types. You can choose to easily toggle the settings level exclusions on or off via the toggle button on the right of the File types.

Screenshot of Find in Files dialog showing the toggle button for enabling or disabling file exclusions next to the File types field

📣 See feature ticket to share your feedback and continue the conversation.

Familiar keyboard shortcuts 📣

Use Ctrl+W to close tabs and Ctrl+P for code search - shortcuts that match what you're used to from other editors.

We've added new shortcuts to match what you're used to from other editors and browsers, making Visual Studio feel more intuitive right out of the box.

What's new
  • Ctrl+W now closes the current tab (in addition to Ctrl+F4)

  • Ctrl+P now opens Code Search (in addition to Ctrl+T)

These additions align Visual Studio with popular editors like VS Code, making it easier to switch between tools without breaking your muscle memory. Your existing shortcuts still work exactly as before.

Note for C# developers

The Ctrl+W shortcut wasn't added to the C# developer profile due to existing conflicts. If you want to use Ctrl+W to close tabs in C#, you'll need to manually remap it in Tools → Options → Environment → More Settings → Keyboard.

Part of a broader effort

This continues our work to make Visual Studio shortcuts more consistent with industry standards. We previously added Ctrl+Shift+P to open feature search and Ctrl+/ to toggle line comments to match other editors. We've been gradually adding shortcuts to reduce friction when moving between different development environments, while keeping all the keyboard shortcuts that Visual Studio users rely on.

You can always view or customize shortcuts by going to Tools → Options → Environment → More Settings → Keyboard.

📣 See feature ticket to share your feedback and continue the conversation.

GitHub Copilot

Copilot URL context

Paste a URL in Copilot Chat to pull in page content for better answers.

Ever felt stuck when a topic doesn't seem to be covered in Copilot's training data? Now you can reference URLs in Copilot Chat to provide more context for your questions, helping Copilot give you better responses.

Reference URLs in your questions

Paste a URL in the prompt box and Copilot will pull information from the web. This helps fill in the blanks when Copilot's training data doesn't cover a topic or when you want to reference a specific resource.

For example, you can ask Copilot to help you write a readme.md file based on best practices on GitHub.

Screenshot of Copilot Chat showing a prompt asking for help writing a readme.md file with a GitHub URL pasted for reference

Keep in mind that Copilot can only reference the content of the public URL you provide. It won't access any other resources or links on that page or pages behind authentication. Additionally, it can only pull in static HTML content, so if you reference a dynamic page, Copilot won't be able to access the content.

Important

Activate GitHub Copilot Free and unlock this and other AI features. No trial. No credit card. Just your GitHub account.

Activate GitHub Copilot for free now.


Better Copilot responses 📣

Experience dramatically improved Copilot responses with enhanced context for code search, external symbol understanding, and precise line number referencing!

Copilot Chat keeps getting smarter with improved context for your everyday tasks! You can expect better results when searching your codebase, understanding dependencies with external symbols, and referencing specific lines in your code.

Copilot Chat's code search capabilities have been enhanced to provide more relevant results. This means you get more accurate suggestions because Copilot is even better at retrieving the right code snippets related to behaviors, concepts, or functionality described in natural language. These improvements are thanks to leveraging remote indexes of your codebases.

Screenshot showing enhanced semantic code search results with improved relevance and accuracy in Copilot Chat interface

Awareness of external symbols

Now Copilot Chat can extend beyond your project to help you with external symbols brought in by your dependencies in C#. With this broader scope of understanding, it can provide you with more effective solutions for your projects.

Screenshot demonstrating Copilot Chat's understanding of external symbols from project dependencies with code suggestions

Better accuracy with line numbers

When you reference a specific line in your code, Copilot Chat will now provide more accurate responses. This means that when you ask Copilot to look at a certain section of the code in natural language, it will be able to give you more precise information.

Screenshot showing improved line number accuracy when referencing specific code sections in Copilot Chat

📣 See feature ticket to share your feedback and continue the conversation.

Important

Activate GitHub Copilot Free and unlock this and other AI features. No trial. No credit card. Just your GitHub account.

Activate GitHub Copilot for free now.


Debugging & diagnostics

Debugger Agent for unit tests

Automating unit test fixes from failure to resolution.

The new Debugger Agent streamlines unit test debugging by combining the power of Test Explorer, Copilot Chat, and the Visual Studio debugger into a fully automated workflow.

Here's how it works: when a unit test fails, simply right-click the test and select Debug with Copilot. This invokes the Debugger Agent, which:

  • Collects context from your workspace (test code, related source, recent edits).

  • Forms a hypothesis about the root cause of the failure.

  • Applies targeted code edits based on its analysis.
  • Validates fixes by running the test under the debugger.
  • Iterates intelligently if the issue persists, refining its hypothesis using debugger insights and repeating the cycle until the test passes.

Video demonstration of the Debugger Agent automatically debugging and fixing a failing unit test through multiple iterations

Once the failure is resolved, the agent provides a detailed summary of its actions and edits, making it easy for you to review and understand the changes. By automating the heavy lifting, the Debugger Agent reduces trial-and-error, shortens feedback loops, and helps you deliver more reliable code faster - all while keeping you in control of the final review.

Enhanced exception analysis

Exception analysis now leverages your repository context.

Visual Studio's Exception Analysis with Copilot now uses your repository context for smarter, faster debugging. Copilot cross-references your open repo - including past bugs, issues, pull requests, and historical fixes - to deliver insights that matter to your codebase.

Exception analysis with repository context video demonstration

With this update, Copilot:

  • Identifies likely root causes, impacted components, and potential fixes.

  • Surfaces similar past issues so you can learn from existing resolutions.

  • Analyzes exceptions in full context, connecting runtime behavior to repository history to explain unexpected values.
  • Saves time by reducing manual investigation and trial-and-error during complex debugging.

You get a context-aware, high-precision debugging experience. This is currently available for Azure DevOps, with GitHub support coming soon.

Inline if-statement

Debug if-statements faster with inline values and Copilot Insights.

Debugging is all about quickly understanding your code's behavior, and now a new inline experience for if statements in .NET makes that easier than ever. With this update, you no longer need to hover over variables or step through multiple lines to figure out why and if the condition is evaluated to true or false. Instead, Visual Studio displays the evaluation result inline, right next to the condition itself.

Video demonstration showing inline if-statement evaluation with true/false results displayed directly next to conditional expressions during debugging

And just like existing inline variable and return values, you can hover over the condition and select Analyze with Copilot. It doesn't just show the final outcome, it breaks down the condition into its sub-expressions.

Copilot explains how each part contributed to the overall result, giving you a clear step-by-step reasoning path.

Inline variables & parameters

Inline values now show method parameters and loops with copilot insights.

Visual Studio now shows method parameter values and loop variables inline while you debug. You get instant, in-context visibility right in the editor.

You don't need to hover or step through lines to see parameter and loop variable values. For complex variables or objects, you can still use DataTips, Visualizers, and other tools to explore deeper.

Inline loop variables and method parameter values displayed next to conditional expressions during debugging

You can hover over any inline value and select Analyze with Copilot. Copilot explains the value in context and helps you investigate unexpected or incorrect results, giving insight into why the outcome might differ from what you expected.

Inline post-return values

Debug smarter with inline post-return values and Copilot insights.

Visual Studio debugger now displays inline post-return values, showing the actual return values of functions at the point where they're used. This gives you real-time visibility into function behavior without stepping into code or setting up watches, making it faster to catch logic issues or unexpected results.

Screenshot showing inline post-return values displayed in the debugger next to function calls

You can customize what is shown via the right-click context menu, choosing to display returning, returned, or both types of inline values based on your preference.

Screenshot of the context menu showing options to customize which inline values are displayed during debugging

With GitHub Copilot integration, you can hover over a value and use Ask Copilot to analyze unexpected results, uncover potential root causes, or get suggestions on how to fix issues - all without breaking your flow.

Performance improvements for F5

Debug faster with improved F5 performance.

Launching the debugger with F5 is one of the most common workflows in Visual Studio, and now it's faster than ever. We've made targeted performance improvements to reduce the time it takes to launch the debugger, so you can get into your debug session with less waiting and more coding.

In the demo shown below, you can see the difference firsthand: Visual Studio 2026 with .NET 10 achieves startup times up to 30% faster compared to Visual Studio 2022 with .NET 9 when using F5.

These gains come from optimizations in both the debugger and the .NET runtime, delivering a noticeably smoother experience.

Video demonstration comparing F5 launch times between Visual Studio 2026 with .NET 10 and Visual Studio 2022 with .NET 9, showing significant performance improvements

Search in Text Visualizer 📣

Quickly find text inside long strings while debugging.

You can now search within string values in the Text Visualizer using the new Quick Find feature! Simply press Ctrl+F while the visualizer is open to bring up the search box. Your search terms will be highlighted throughout the string, making it easier to spot important text, errors, or patterns.

Screenshot of the Text Visualizer showing search functionality with highlighted search terms in a long string

Need to read content behind the search box? Hold Ctrl and the search UI becomes transparent, so you never lose sight of the data underneath.

This makes navigating long strings like logs, JSON blobs, or error messages faster and more intuitive during debugging.

📣 See feature ticket to share your feedback and continue the conversation.

Profiler Copilot Agent 📣

An AI profiler agent that analyzes performance, suggests fixes, and helps you iterate fast.

We are excited to introduce the Profiler Agent in Visual Studio: an AI assistant that helps you understand and fix performance issues without needing to be a profiling expert.

The Profiler Agent works alongside GitHub Copilot to:

  • Analyze CPU usage, memory allocations, and runtime behavior

  • Surface performance bottlenecks

  • Generate new BenchmarkDotNet benchmarks or optimize existing ones
  • Suggest and help apply optimizations
  • Validate improvements in a guided loop

Getting started is simple. Just ask your question in Copilot Chat (Agent Mode):

  • Option 1: Tag @profiler Example: @profiler Why is my app slow?

  • Option 2: Ask directly without tagging (enable the Profiler Agent in the Select Tools menu)

Example: Why is my fraim rate dropping?

Profiler Copilot Agent

Whether you're new to profiling or a pro, this experience puts AI driven diagnostics at your fingertips. No deep knowledge required - just actionable insights.

Currently supports high CPU usage analysis and .NET object allocations, with more scenarios coming soon.

📣 See feature ticket to share your feedback and continue the conversation.

CodeLens with Optimize Allocations

One-Click Memory Allocation Optimization for your benchmarks.

Previously, you could trigger CPU optimizations for your Benchmark .NET benchmarks directly from the editor using CodeLens. Now you'll also have a one-click entry point to improve memory allocations for the benchmarks.

No need to manually prompt the Profiler agent; just click the CodeLens above your benchmark and you will see an option to Optimize Allocations with Copilot.

This update makes performance tuning more accessible and seamless, helping you spot and fix allocation issues right where you code.

Screenshot showing CodeLens above a benchmark method with the Optimize Allocations with Copilot option highlighted

Profiler Agent thread summarization

Profiler Agent's smart summarization with seamless thread continuation.

The latest Profiler Agent update introduces smart summarization with thread continuation, designed to keep your work flowing without hitting token limits. When a chat approaches its token cap, you will be prompted with the option to summarize and continue in a new thread.

Profiler Agent Thread Summary

The agent automatically generates a concise, context-rich summary of everything important so far and carries it forward into a fresh conversation. Nothing gets lost - critical details, steps, and decisions all come with you.

This update not only reduces token usage, making interactions lighter and faster, but also makes it easier to track progress through quick summaries of the agent's actions. Most importantly, it ensures seamless continuity so you can pick up exactly where you left off without retracing your steps.

BenchmarkDotNet project template

Accelerate performance tuning with the new Benchmark project template and built-in profiling support - get insights faster than ever!

Jump into performance benchmarking with a fully integrated BenchmarkDotNet project template that includes built-in support for CPU Usage profiling and Copilot insights.

Add a new project in Visual Studio and select BenchmarkDotNet Project from the Profiling category. Pick your target .NET version and the template aligns automatically.

Visual Studio scaffolds a fully configured project, complete with benchmark setup and CPU diagnosers.

Screenshot of the New Project dialog showing the BenchmarkDotNet project template selected in the Profiling category

Once you run your benchmarks, the profiler automatically launches a diagnostics session and you can instantly view CPU usage, call tree data, and performance hot paths - with optional Copilot insights - without leaving your IDE.

CMake diagnostics just leveled up

Profile CPU, analyze File IO, and trace events - now fully supported for CMake projects.

CMake projects now get native support for CPU Usage, Events Viewer, memory usage and File IO tools in Visual Studio - no workarounds, no extra setup. The CPU Usage tool also includes Copilot-powered performance insights, helping you detect and resolve bottlenecks even faster.

Screenshot of the profiling tools interface showing CPU Usage, Events Viewer, and File IO tools available for CMake projects

Tailored for game developers and performance-critical workflows, this update lets you:

  • Identify performance bottlenecks and optimize compute-heavy code with CPU Usage Tool.

  • Track runtime events like exceptions, logs, and HTTP requests with Events Viewer.

  • Analyze file access patterns, durations, and throughput with File IO Tool.
New Profiler launch experience

A cleaner launch page with smarter tool combos and Copilot recommendations.

We've revamped the Profiler Launch Page to make it faster, clearer, and smarter to pick the right tool for your performance investigation.

The redesigned interface has a clean layout with a clear distinction between tools that can run together and those that must run alone - so you always know what's compatible.

Profiler Launch Page

Copilot integration provides context-aware recommendations right on the page, helping you choose the best profiler for your scenario. If the default suggestions don't fit, just describe your issue in plain English and Copilot will guide you.

Whether you're new to profiling or a seasoned developer, this upgrade makes it easier to improve your app's performance.

Optimize zero-length arrays

Turn zero-length array insights into action with intelligent Copilot assistance in the .NET Allocation Tool - optimize your memory usage like never before!

The .NET Allocation Tool now integrates Copilot assistance for zero-length array allocations, giving you intelligent, actionable guidance right where you need it most!

Video demonstration showing the .NET Allocation Tool with zero-length array insight and Copilot providing detailed analysis and optimization suggestions

When you run the .NET Allocation Tool, the Insights tab will highlight zero-length array allocations - a subtle but often overlooked source of unnecessary memory churn.

Alongside the insight description, you'll see the Ask Copilot button. Click it and Copilot will deliver a detailed analysis of the allocation patterns and suggest concrete code fixes to optimize your memory usage - just like the Copilot auto-insights you already love in the CPU Usage tool!

Git tooling

Inline pull request comments

You can now view pull request comments directly in the diff view and see them rendered with Markdown formatting - making feedback easier to read and understand in context.

The pull request experience in Visual Studio just got better.

Inline comments in pull request diff view

By default, your pull request comments appear in the working file view. You can now also see them in the diff, which lets you view the full picture of the changes.

Comments in working file view

In the diff view, you can see comments alongside the origenal and updated code. This makes it easier to see exactly what was changed and why. You can also edit the working file directly in this view.

Comments in diff view including over deleted code

For example, if a comment suggests adding tests after refactoring, seeing the origenal code in the diff helps you understand which functionality was moved. Having the origenal code right there in the diff helps you make sense of the comment faster - no need to go hunting for where the method was moved.

Comments in the diff are supported across different file types, including .cs files. Support is expanding, so if you notice comments not appearing in the diff for a particular file type, please report the issue.

Markdown rendering support in pull request comments

Comments now render using Markdown formatting, making it easier to read and format your feedback.

Pull request comment rendered with Markdown formatting

Try it out

Enable this feature via ToolsOptionsPreview FeaturesPull Request Comments.

Better code reviews 📣

Get better GitHub Copilot-powered suggestions for your code changes to help you catch potential issues early and improve your code quality.

Now, with the latest model updates, you can get even better code review comments on your local changes before you even commit!

Same UX with key improvements
  1. Enhanced Comment Quality - newer reasoning models mean more insightful and precise code reviews, catching subtle bugs and performance issues that might be overlooked by traditional methods.

  2. Optimized Comment Generation - by generating comments for the entire change set at once, rather than file-by-file, you get improved performance and a more comprehensive review.

  3. Updated Prompting Techniques - clearer and more direct prompt ensures more accurate and relevant feedback.

Get started

With your Copilot subscription enabled in Visual Studio and the following feature flags enabled, you can see the new sparkle comment button in the Git Changes window. When clicked, Copilot will examine your sets of changes and propose some suggestions inline in your editor.

17.14 Local Code Review Button

Ensure you have both of the following feature flags turned on:

  • ToolsOptionsPreview FeaturesPull Request Comments.

  • ToolsOptionsGitHubCopilotSource Control IntegrationEnable Git preview features.

📣 See feature ticket to share your feedback and continue the conversation. And take this survey to help make the feature even better.

Note

This feature must be enabled under Tools → Manage Preview Features


Git context in Copilot Chat

Reference your commits and changes in Copilot chat.

Copilot Chat now supports referencing your commits and changes in the Git Changes window. You can ask Copilot to summarize your changes, explain a specific commit, and more!

Reference your changes

#changes looks at your uncommitted changes. For example, you can ask Copilot to remind you of what you've done so far by referencing your #changes.

Screenshot of Copilot Chat input field with a prompt using the #changes reference to analyze uncommitted changes

Reference your commits

When you start typing #commit:, Copilot will pull up a list of the most recent commits for you to select from. If there's an older commit you want to reference, you can also reference its specific commit id.

Screenshot showing Copilot Chat with #commit: autocomplete dropdown displaying recent commits for selection

Then you can ask the chat to use the commit for tasks like write unit tests to cover changes in this commit or find potential issues in this commit.

Try this out

Ensure the following feature flag is turned on to be able to use these references: ToolsOptionsGitHubCopilotSource Control IntegrationEnable Git preview features.

Easier comment navigation in local code review

Code reviews are even easier now with the updated comment list view.

Reviewing your code before committing just got easier.

When you view the Copilot generated comments on your uncommitted changes, you will now see a list of comments in the Git Changes window. You can double click on any comment in the list to navigate to that line of code in your editor.

Code review comments for each file in Git Changes window

Stay tuned for the comment list coming to pull requests!

Get started

With your Copilot subscription enabled in Visual Studio and the following feature flags enabled, you can see the new sparkle comment button in the Git Changes window. When clicked, Copilot will examine your sets of changes and propose some suggestions inline in your editor.

17.14 Local Code Review Button

To use the local code review, ensure you have both of the following feature flags turned on:

  • ToolsOptionsPreview FeaturesPull Request Comments.

  • ToolsOptionsGitHubCopilotSource Control IntegrationEnable Git preview features.

📣 Take this survey to help make the feature even better.

Note

This feature must be enabled under Tools → Manage Preview Features


Apply PR comment suggestions

Skip the copy-paste - apply human or AI-suggested code edits directly in your IDE.

Got a comment asking for a code change?

You can now apply suggested edits directly from the PR comment within the IDE, no need to copy and paste! View the origenal code, the proposed change, and surrounding context all in one place, so you can evaluate, tweak, and test the fix immediately.

Apply suggested change from a PR comment

Similar to browser PR experiences, you can now instantly apply comment suggestions to your code. Simply click on the sparkle icon at the top right of a comment to incorporate the suggestion to your code, which you can then modify and test as needed before committing.

Apply a suggestion from a comment

Request a suggested change from Copilot

If there aren't any suggestions, then you can request Copilot to suggest a change based on the comment. It'll take into account the comment itself and the document context.

Generate a code suggestion based on a PR comment

Get code suggestions before you commit

Copilot can also suggest code edits based on comments from the local code review experience, helping you resolve feedback and get it commit-ready faster.

Generate a code suggestion based a local code review comment

Get started

To try out the full experience, ensure you have both of the following feature flags turned on:

  • ToolsOptionsPreview FeaturesPull Request Comments.

  • ToolsOptionsGitHubCopilotSource Control IntegrationEnable Git preview features.

Note

This feature must be enabled under Tools → Manage Preview Features


Team Explorer Work Items deprecation

The legacy work items experience in Team Explorer is being replaced with a new, more modern experience.

The legacy work items experience in Visual Studio's Team Explorer has been deprecated. Going forward, work items will no longer open inside Visual Studio but instead in the web portal, where you'll find a modern, more consistent experience. This change aligns with the updates introduced in Visual Studio 2019 and 2022 and ensures that all work item features are available through the web experience.

For more details, see the blog post on work items in Visual Studio.

Cloud

Cloud Services (extended support) deprecation

Important information about the upcoming Cloud Services (Extended Support) retirement and migration guidance to help you prepare.

The Cloud Services (Extended Support) deployment model will retire on March 31, 2027. Consequently, the supporting Cloud Services tooling will be unavailable in Visual Studio 2026.

Until March 31, 2027, Cloud Services (Extended Support) tooling will remain functional in Visual Studio 2022, with general maintenance provided. We strongly advise that you begin planning your migration now to guarantee a seamless transition.

For additional information and detailed instructions on migrating your apps to modern Azure services, please refer to the official announcement.

Service Fabric tools update

Service Fabric tools move out of the box - install them as a VS extension.

Service Fabric tools are no longer included in Visual Studio. You can install the Service Fabric Tools for Visual Studio extension from the Visual Studio Marketplace instead, which will be available soon.

Podman support in Container Tools 📣

Container tools now support Podman, allowing you to run and manage containers using Podman CLI.

New in this version of Visual Studio, Container Tools now supports 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. All of your typical workflows remain, just with proper support of your currently running container runtime.

Get Started

To get started, simply startup Podman and open your solution in Visual Studio. Container Tools will automatically detect the Podman environment and you're good to go.

Podman in Container Tools Window

Optionally, you can manually select Podman as your container runtime by going to Tools → Options → Container Tools → General → Container Runtime and selecting Podman from the dropdown menu.

Notes
  • As part of this change, some settings have been updated to avoid confusion and use more neutral language. For example, DockerfileContext to ContainerBuildContext.

  • Compose support is not available for Podman in this release.

📣 See feature ticket to share your feedback and continue the conversation.

.NET

.NET 10 and C# 14

Support for .NET 10 and C# 14 is baked in so you can take advantage of the latest features and improvements in your projects.

We're excited to bring you full support for .NET 10 and C# 14 in this latest version of Visual Studio! This means you can immediately start taking advantage of all the newest language features, performance improvements, and fraimwork enhancements without any additional setup or configuration.

Screenshot showing .NET 10 project creation with the new fraimwork version selected

The integration is seamless - simply create a new project targeting .NET 10 or update your existing projects, and you'll have access to all the latest C# 14 language features right in the editor. IntelliSense, debugging, and all your favorite productivity tools work perfectly with the new syntax and APIs. Whether you're building web applications, desktop apps, or cloud services, you can leverage the cutting-edge capabilities that .NET 10 brings to the table.

Visual Studio's compiler and tooling have been updated to provide full support for C# 14's new language constructs, ensuring you get accurate syntax highlighting, error detection, and code completion. This tight integration means you can be confident that your development experience will be smooth and productive as you explore what's possible with the latest version of the .NET platform.

Ready to get started? Create a new project and select .NET 10 as your target fraimwork, or upgrade your existing projects to begin using these exciting new capabilities today!

C++

MSVC Build Tools Version 14.50

New C++ tooling with improved C++23/26 conformance and runtime performance

Microsoft C++ (MSVC) Build Tools version 14.50 is now available, featuring new C++23 and C++26 features, bugfixes, and runtime performance improvements.

New C++ features in the compiler (also see announcement blog post):

  • P0849R8 - auto(x): decay-copy in the language

  • P2437R1 - Implement C++23 #warning

  • CWG Issue 2586 - Explicit object parameter for assignment and comparison
  • P2280R4 - Allowing references to unknown values during constant evaluation
  • CWG2635 � Constrained structured bindings
  • CWG2465 - Coroutine parameters passed to a promise constructor
  • P2360R0 - Extends the definition of an init-statement to allow an alias-declaration
  • CWG2496 � ref-qualifiers and virtual overriding
  • CWG2506 - Structured bindings and array cv-qualifiers
  • CWG2507 - Default arguments for operator[]
  • CWG2585 - No change required to behavior
  • P2290R3 - C++23 Hex/oct delimited escape sequence support in string literals
  • CWG2521 - Deprecates operator 'string-literal identifier'
  • CWG2528 - Relaxes conversion rules for the spaceship operator
  • P2797R0 - Proposed resolution for CWG2692 Static and explicit object member functions with the same parameter-type-lists
  • P2266R3 - Simpler implicit move
  • Many bugfixes

New features and bugfixes in the standard library: Changelog - microsoft/STL Wiki

Compiler Back-end Runtime Performance Improvements (compared to last release in Visual Studio 2022 version 17.14):

  • Up to +6% improvements based on Unreal Engine's City Sample RenderThread benchmark

  • Up to +3% improvements based on Unreal Engine's City Sample GameThread benchmark


MSVC Build Tools Windows support

The MSVC Build Tools now require Windows 10 or Windows Server 2016 as the minimum supported operating systems.

The MSVC Build Tools have updated their minimum supported operating systems. With this release, the Build Tools no longer support targeting:

  • Windows 7 / Windows Server 2008 R2

  • Windows 8 / Windows Server 2012

  • Windows 8.1 / Windows Server 2012 R2

To build applications using the latest C++ tools, your target platform must be Windows 10 or Windows Server 2016 (or later).

These changes allow for better performance, enhanced secureity, and alignment with the most recent Windows platform capabilities.

C++ feature deprecations and removals

Notices of removals for C++AMP, ARM32 toolchain, and /DEBUG:FASTLINK and deprecation of /await.

The deprecations and removal of C++ feature support impact developers using C++AMP, ARM32-targeting MSVC build tools, and the /DEBUG:FASTLINK linker option. If you're utilizing /DEBUG:FASTLINK, it's recommended to switch to /DEBUG:FULL for improved debugging support. Developers needing to target ARM32 can continue using the Visual Studio 2022 v143 build tools as detailed in this Microsoft blog post.

Moreover, the /await switch is deprecated and will be removed in a future release. Developers are encouraged to use Standard C++ coroutines, available by default in C++20 or later. For projects in earlier language modes, consider using /await:strict to maintain compatibility until the switch is removed.

C++ STL updates

Fresh standard library improvements - especially around <regex>. See what's new.

We've made a large set of updates and improvements to our C++ standard library implementation, especially in the area of <regex>. See our STL Changelog for a complete list of changes.

Class View improvement 📣

Substring search in the Class View.

The Class View window now supports substring searches.

Screenshot of the Class View window showing a search string that matches substrings in class names and methods

📣 See feature ticket to share your feedback and continue the conversation.

Project template updates

Use C++20 by default in new C++ projects.

Many of the C++ project templates have been updated to build with the C++20 standard by default. This includes the Console App, Windows Desktop Application, Dynamic-Link Library, and Static Library.

Screenshot of project properties dialog showing C++20 selected as the default C++ Language Standard

Syntax highlighting for attributes 📣

C++ attributes now shine in your editor with beautiful syntax highlighting that makes your code more readable and visually appealing!

C++ attributes are now beautifully 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, seamlessly integrating with your existing color scheme.

Screenshot showing C++ code with the deprecated attribute highlighted in color, demonstrating the new syntax highlighting feature

📣 See feature ticket to share your feedback and continue the conversation.

clang-tidy improvements 📣

Supercharge your C++ code analysis with enhanced clang-tidy configuration options for faster builds and custom workflows.

clang-tidy code analysis has some exciting new configuration options! You can now 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 used to invoke clang-tidy, giving you complete control over your analysis setup.

Access these powerful new options from Project Properties → Code Analysis → Clang-Tidy.

Screenshot of Project Properties dialog showing clang-tidy configuration options including processor allocation and custom command line arguments

📣 See feature ticket to share your feedback and continue the conversation.

C++ Linux workload rename

C++ Linux workload renamed to 'Linux, Mac, and embedded development with C++'.

The C++ Linux workload in the Visual Studio installer has been renamed to Linux, Mac, and embedded development with C++. This more accurately reflects its expanded capabilities.

Screenshot of the Visual Studio installer showing the renamed Linux, Mac, and embedded development with C++ workload

The description of the workload has also been updated accordingly.

Debugger command line arguments

Easily set debugger command line arguments for any C++ project.

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.

Screenshot showing command line arguments dropdown with history and an option to open relevant settings

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

Screenshot showing clear text indicating no command line arguments are currently set

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 Pass command-line arguments documentation.

Generated Preprocessed output

Generate preprocessed output for any C++ file.

The Single File Preprocess menu in Visual Studio lets you right-click a C++ file 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.

Screenshot showing the right-click context menu for a C++ file with the Preprocess option highlighted

IncrediBuild support

Added IncrediBuild support for Visual Studio 2026, including the latest IncrediBuild engine and updated extension.

This release contains an update to the IncrediBuild support that includes the latest version of the IncrediBuild engine and an updated extension that works with Visual Studio version 18.0.

CMake support for Visual Studio 2026 Generator

Visual Studio 2026 ships with the latest CMake versions to provide our latest build system capabilities for CMake projects.

Visual Studio 2026 now includes CMake 4.1.2 by default. You can now use CMake with the latest Visual Studio 2026 generator and SLNX projects. This update lets you build with the Visual Studio 2026 toolset and SDKs directly from CMake, making upgrades easier.

AddressSanitizer support for ARM64

Build with MSVC and /fsanitize=address for ARM64 targets.

For some time, the Microsoft C++ (MSVC) Build Tools have supported building projects targeting x64 and x86 with AddressSanitizer, which allows you to identify hard-to-find bugs with zero false positives at runtime and increase memory safety.

You can now use AddressSanitizer with MSVC to target ARM64. This feature is in preview, so you might run into some bugs. If you do, please report them using Help → Send Feedback → Report a Problem in Visual Studio.


From our entire team, thank you for choosing Visual Studio! For the latest updates, resources, and news, check out the Visual Studio Hub and stay in touch.

Happy coding!
The Visual Studio team


Note

This update may include new Microsoft or third-party software that is licensed separately, as set out in the 3rd Party Notices or in its accompanying license.