Visual Studio 2022 Professional and Enterprise
Visual Studio 2022 Professional and Enterprise
New to Visual Studio? Learning a new development tool can be overwhelming. Take this step-by-step learning journey at your own pace to successfully create a simple app in any language of your choice. Let’s get started!
Our 64-bit upgrade
Take advantage of all your computer’s resources to scale Visual Studio to the largest of projects and complex workloads without running out of memory. You can continue to run and debug your 32-bit apps.
Comes with .NET 6
Develop cross-platform apps with C# and .NET MAUI. Build responsive Web UIs with Blazor. Build, debug, and test .NET apps in Linux environments. Use hot reload capabilities across .NET apps. Edit ASP.NET Web pages with Web Live Preview.
C++20 Support
Visual Studio 2022 comes with our latest toolchain for targeting C++20 and is binary-compatible with 2022. Develop cross-platform C++ projects from Windows and leverage the best the ecosystem has to offer.
Best IntelliCode yet
IntelliCode now automatically completes larger chunks of code, up to a whole line at a time, by understanding your coding context better, and leveraging the wisdom of nearly half a million open source repos’ code patterns.
IDE built for you
Visual Studio 2022 has a refreshed look with new icons and theme that’s improves clarity and consistency, while keeping familiarity. More than what comes out of the box Visual Studio has 100s of options for you to customize to make Visual Studio truly yours.
Enhanced Debugging
Unlock your potential as a developer with debugging tools that empower you to quickly diagnose issues. Use async visualizations, automatic analyzers, time travel debugging, and a dozens of others tools.
Productivity in the edit and debug cycle
In this release, we focused on super-charging the edit and debug cycle.
Visual Studio 2022 has IntelliCode. It’s an AI-assisted code companion that enables you to type less and code more. What this means is IntelliCode can now complete whole lines of code for you, allowing you to write dependable code in just two taps of the tab key. IntelliCode can also spot repeated edits and suggest fixes throughout your codebase where there are similar patterns.
Once you’ve made those changes and have your app running, Hot Reload for .NET and C++ gives you the opportunity to update your code and see changes immediately. What’s more, you won’t need to redeploy and launch your application. And there are hundreds of other things under the hood that will help you. Some of the others include improvements in the debugger and .NET language service as well as new features, like Web Live Preview and cross-platform testing on Linux. There are so many new capabilities and fixes that we just can’t list them here, but we have in our release notes and documentation.
Visual Studio 2022 is the IDE for you. It’s for every developer, from apps built with Windows Forms and Win32, to Blazor, to cloud-native applications based on containers, to applications that use machine learning.
Scalability, reliability, and performance
Visual Studio 2022 is our first 64-bit release of Visual Studio. It can now take full advantage of modern hardware in order to reliably scale to larger, more complex projects. In addition, we’ve focused on improving the performance of common scenarios that you use every day.
Don’t forget to check out our Visual Studio 2022 launch event. It’s today at 8:30 a.m. Pacific. You can catch it live on launch.visualstudio.com or our Twitch channel. And it’ll be available on our YouTube channel later on, in case you can’t watch it live.
Scott Hanselman will kick things off by interviewing our product team. The product team will show off what Visual Studio 2022 can do. After that, 10 demo-driven “What’s new” sessions – just 20 minutes each and aimed at specific application platforms – will continue getting you up to speed with what’s in Visual Studio 2022. Want tips and tricks? You’re in luck. We have 30 sessions to help you out. And to cap things off, we’ll have a live Q&A with the product team. If you want to get in on the action, you can ask questions throughout the day via the integrated Q&A chat application.
If you want to get in on the festivities, use the hashtag #VS2022 on Twitter during the event. To learn more about the event, check out this blog post.
Summary of What's New in this Release of Visual Studio 2022 version 17.1 Preview 1
Debugging & Diagnostics
Added a support for Microsoft Azure App Services Attach to Process.
Git Tooling
Added capability to include README file when creatting new Git repositories in Visual Studio
Enhanced the ability to pin commonly used branches utilizing hover buttons
Built a more discoverable UI for relating Work Items with new commits
.NET Multi-platform App UI (MAUI) Preview 10
.NET MAUI Preview 10 is now available.
.NET Productivity
Go To Definition from source information in PDBs.
IntelliSense completion for await within an awaitable expression.
Move static members to a new type refactoring.
Simplify code to use the new C# 10.0 extended property patterns refactoring.
Detect variable swaps and suggest using a tuple to swap values refactoring.
Code definition window support for C# and Visual Basic.
Enable nullable reference types across a project refactoring.
Signature help simplified view improvements when a tuple appears many times within a signature.
Understand errors and warnings at a glance with inline diagnostics.
XAML Hot Reload
XAML Hot Reload now supports more end-to-end scenarios when using together with .NET Hot Reload.
XAML Live Preview
XAML Live Preview now supports .NET MAUI apps (WinUI & Android).
Top Voted Issues From Developer Community
Please see our full list of Developer Community fixes in this release.
Visual Studiof Upgrade broke package compilation
Linux development with C++ - Internal Dynamic linkage is wrong
Comments without Doxygen tags is not parsed correctly
Link error with local declaration inside namespace
Predefined macros for launch.vs.json
Solution explorer do not display power shell files icon
C26440 false positive Function can be declared 'noexcept'
C++: std::is_empty is incorrect for a template specialization
VC++ for Linux: Remote Pre-Build Event running before copy sources
Blazor Server and Css Isolation using .Net 6 + VS Community 2022
Known Issues in 17.1 Preview 1
Visual Studio Editor is either blank without any error message or uses a font other than the one selected in Tools\Options.
Details of What's New in this Release of Visual Studio 2022 version 17.1 Preview 1
Debugging & Diagnostics
Microsoft Azure App Services Attach to Process
You can now attach to your .NET (Framework. Core, or 5+) for Windows App Service without a solution or project open.
Open the Attach to Process Dialog -> Change the Connection Type to Microsoft Azure App Services -> Select Find -> Select your Subscription and then find your App Service under the resource group and hit “Ok�. Find the process you want to connect to and select “Attach�.
.NET Multi-platform App UI (MAUI) Preview 10
In this release you can use Visual Studio 2022 to create a new or continue to work on an existing .NET MAUI application.
.NET MAUI also supports features such as XAML Live Preview (for WinUI and Android Emulator) and .NET Hot Reload for all platforms.
For more details on our Preview 10 release please see the .NET Blog.
.NET Productivity
When building managed libraries developers can choose to embed their source files with the debug information (PDB file) that is produced by the build, and even embed the PDB file into the assembly itself. We now surface embedded source as part of Go to Definition if a referenced assembly has embedded source and the PDB is available. This allows you to navigate to the original source files that declare the target symbol. Place your cursor on a symbol and press F12 to navigate to the original source file.
There is now IntelliSense completion for await within an awaitable expression. Start typing an awaitable expression and notice how await will now show up in the completion list.
There is now a refactoring to move static members to a new type. Place your cursor on a static member. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Move static members to another type.... This will open a dialog where you can select the members that you would like to move.
Move static members to another type refactoring
There is now a refactoring to simplify code to use the new C# 10.0 extended property patterns. Using extended property patterns reduces noise allowing you to reference nested members instead of nesting another recursive pattern. Place your cursor on a nested member reference. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Simplify property pattern.
Simplify property pattern refactoring
There is now a refactoring that detects variable swaps and suggests using a tuple to swap values so instead of using a temporary variable in-order to swap arguments you can use a tuple. Place your cursor on a temporary variable assignment where you are swapping values. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Use tuple to swap values.
Use tuple to swap values refactoring
The Code Definition Window now supports C# and Visual Basic. To use the Code Definition Window, either press (Ctrl+W,D) or select View > Code Definition Window. Next, place your cursor on an identifier to navigate and explore code.
C# and Visual Basic support in the Code Definition Window
There is now a refactoring to enable nullable reference types across a project. You can enable nullable reference types by adding the enable element to your project file or add the #nullable enable pragma to every source file in your project. To help streamline this process we now automatically include the enable for new .NET projects. For existing .NET projects, you can enable nullable reference types by placing your cursor on a #nullable enable pragma. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Enable nullable reference types in a project.
Enable nullable references types across a project refactoring
Signature Help has improved its display when a tuple appears many times within a signature. The simplified view includes the Structural Type key to show you what is contained in the tuple.
You can now understand errors and warnings at a glance without needing to hover your cursor over a line of code with Inline Diagnostics. Inline Diagnostics is disabled by default so you will need to enable it in Tools > Options > Text Editor > C# or Basic > Advanced and select Display diagnostics inline (experimental).
Inline Diagnostics
XAML Hot Reload
In this release we continue to preview our on going work to create a better experience when using both XAML and .NET Hot Reload together.
In this release we’ve enabled the following scenarios:
For WPF and WinUI 3 apps:
XAML code editor will now properly show newly created control types and properties created by a .NET Hot Reload operation in IntelliSense
Binding to a newly created property using .NET Hot Reload will now work as expected. For WinUI you can also now use x:Bind to bind to a new property as well
For WPF apps:
Adding a newly created method for an event handler created using .NET Hot Reload will now work
To help us test these new features, make sure you turn on the preview flag under “Options > Preview Features > XAML IntelliSense updates after .NET Hot Reload”.
Note: While the above scenarios work if the types are first applied using .NET Hot Reload and then XAML Hot Reload is used, there is a known limitation. For example, if you add assign a new property using XAML Hot Reload to a property that has not yet been created and only then use .NET Hot Reload to create it, the XAML change will not see the new property. We are aware of this issue and hope to improve it in the future.
XAML Live Preview
In this release XAML Live Preview is supported for .NET MAUI apps running as either a WinUI 3 app or in an Android Emulator
Debugging & Diagnostics
Added a support for Microsoft Azure App Services Attach to Process.
Git Tooling
Added capability to include README file when creatting new Git repositories in Visual Studio
Enhanced the ability to pin commonly used branches utilizing hover buttons
Built a more discoverable UI for relating Work Items with new commits
.NET Multi-platform App UI (MAUI) Preview 10
.NET MAUI Preview 10 is now available.
.NET Productivity
Go To Definition from source information in PDBs.
IntelliSense completion for await within an awaitable expression.
Move static members to a new type refactoring.
Simplify code to use the new C# 10.0 extended property patterns refactoring.
Detect variable swaps and suggest using a tuple to swap values refactoring.
Code definition window support for C# and Visual Basic.
Enable nullable reference types across a project refactoring.
Signature help simplified view improvements when a tuple appears many times within a signature.
Understand errors and warnings at a glance with inline diagnostics.
XAML Hot Reload
XAML Hot Reload now supports more end-to-end scenarios when using together with .NET Hot Reload.
XAML Live Preview
XAML Live Preview now supports .NET MAUI apps (WinUI & Android).
Top Voted Issues From Developer Community
Please see our full list of Developer Community fixes in this release.
Visual Studiof Upgrade broke package compilation
Linux development with C++ - Internal Dynamic linkage is wrong
Comments without Doxygen tags is not parsed correctly
Link error with local declaration inside namespace
Predefined macros for launch.vs.json
Solution explorer do not display power shell files icon
C26440 false positive Function can be declared 'noexcept'
C++: std::is_empty is incorrect for a template specialization
VC++ for Linux: Remote Pre-Build Event running before copy sources
Blazor Server and Css Isolation using .Net 6 + VS Community 2022
Known Issues in 17.1 Preview 1
Visual Studio Editor is either blank without any error message or uses a font other than the one selected in Tools\Options.
Details of What's New in this Release of Visual Studio 2022 version 17.1 Preview 1
Debugging & Diagnostics
Microsoft Azure App Services Attach to Process
You can now attach to your .NET (Framework. Core, or 5+) for Windows App Service without a solution or project open.
Open the Attach to Process Dialog -> Change the Connection Type to Microsoft Azure App Services -> Select Find -> Select your Subscription and then find your App Service under the resource group and hit “Ok�. Find the process you want to connect to and select “Attach�.
.NET Multi-platform App UI (MAUI) Preview 10
In this release you can use Visual Studio 2022 to create a new or continue to work on an existing .NET MAUI application.
.NET MAUI also supports features such as XAML Live Preview (for WinUI and Android Emulator) and .NET Hot Reload for all platforms.
For more details on our Preview 10 release please see the .NET Blog.
.NET Productivity
When building managed libraries developers can choose to embed their source files with the debug information (PDB file) that is produced by the build, and even embed the PDB file into the assembly itself. We now surface embedded source as part of Go to Definition if a referenced assembly has embedded source and the PDB is available. This allows you to navigate to the original source files that declare the target symbol. Place your cursor on a symbol and press F12 to navigate to the original source file.
There is now IntelliSense completion for await within an awaitable expression. Start typing an awaitable expression and notice how await will now show up in the completion list.
There is now a refactoring to move static members to a new type. Place your cursor on a static member. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Move static members to another type.... This will open a dialog where you can select the members that you would like to move.
Move static members to another type refactoring
There is now a refactoring to simplify code to use the new C# 10.0 extended property patterns. Using extended property patterns reduces noise allowing you to reference nested members instead of nesting another recursive pattern. Place your cursor on a nested member reference. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Simplify property pattern.
Simplify property pattern refactoring
There is now a refactoring that detects variable swaps and suggests using a tuple to swap values so instead of using a temporary variable in-order to swap arguments you can use a tuple. Place your cursor on a temporary variable assignment where you are swapping values. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Use tuple to swap values.
Use tuple to swap values refactoring
The Code Definition Window now supports C# and Visual Basic. To use the Code Definition Window, either press (Ctrl+W,D) or select View > Code Definition Window. Next, place your cursor on an identifier to navigate and explore code.
C# and Visual Basic support in the Code Definition Window
There is now a refactoring to enable nullable reference types across a project. You can enable nullable reference types by adding the enable element to your project file or add the #nullable enable pragma to every source file in your project. To help streamline this process we now automatically include the enable for new .NET projects. For existing .NET projects, you can enable nullable reference types by placing your cursor on a #nullable enable pragma. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Enable nullable reference types in a project.
Enable nullable references types across a project refactoring
Signature Help has improved its display when a tuple appears many times within a signature. The simplified view includes the Structural Type key to show you what is contained in the tuple.
You can now understand errors and warnings at a glance without needing to hover your cursor over a line of code with Inline Diagnostics. Inline Diagnostics is disabled by default so you will need to enable it in Tools > Options > Text Editor > C# or Basic > Advanced and select Display diagnostics inline (experimental).
Inline Diagnostics
XAML Hot Reload
In this release we continue to preview our on going work to create a better experience when using both XAML and .NET Hot Reload together.
In this release we’ve enabled the following scenarios:
For WPF and WinUI 3 apps:
XAML code editor will now properly show newly created control types and properties created by a .NET Hot Reload operation in IntelliSense
Binding to a newly created property using .NET Hot Reload will now work as expected. For WinUI you can also now use x:Bind to bind to a new property as well
For WPF apps:
Adding a newly created method for an event handler created using .NET Hot Reload will now work
To help us test these new features, make sure you turn on the preview flag under “Options > Preview Features > XAML IntelliSense updates after .NET Hot Reload”.
Note: While the above scenarios work if the types are first applied using .NET Hot Reload and then XAML Hot Reload is used, there is a known limitation. For example, if you add assign a new property using XAML Hot Reload to a property that has not yet been created and only then use .NET Hot Reload to create it, the XAML change will not see the new property. We are aware of this issue and hope to improve it in the future.
XAML Live Preview
In this release XAML Live Preview is supported for .NET MAUI apps running as either a WinUI 3 app or in an Android Emulator
Only for V.I.P
Warning! You are not allowed to view this text.