See what new features your favorite IDE has brought in this major release.
Visual Studio has had its first major release in about 18 months (depending on how you look at it). 😄 This release adds a ton of new features and capabilities to the IDE. Now, is a great time to start learning about them.
The user experience of the IDE has been updated to be more consistent and more user friendly. This includes new icons, new fonts, new personalization and more.
The icons have been updated to be consistent across different icons while remaining legible and familiar to the user.
You’ve probably noticed in the image above that there are icons for a light and dark theme. While themes are not new to Visual Studio, Visual Studio now offers you the ability to sync your Visual Studio theme with your operating system theme.
The dark theme has been updated also to better align with the Microsoft design guidelines and improve accessibility.
Visual Studio now includes a Theme Converter, which converts Visual Studio Code themes to Visual Studio themes.
Visual Studio now includes inlay hints for code completion, code lens and more. Inlay hints can display parameter name hints for literals, function calls and more.
In this image, you can see that Visual Studio tells you that the type for variable
contact is of type
Contact. Further down the image, the
RedirectToAction method has a parameter named
actionName, which this sample is using the
Note, this feature is not on by default. You can enable it by going to the Tools > Options > Text Editor > C# or Basic > Advanced then select Inlay Hints.
You might be saying that all these user interfaces are nice, but Visual Studio is slow enough already. Well, that might have been the case for earlier versions of Visual Studio, but that is not the case for Visual Studio 2022.
It’s faster in part now that Visual Studio 2022 is a 64-bit application. This means that the main process (devenv.exe) is no longer limited to 4GB of memory. Now Visual Studio can load larger projects and load more projects at once. You’ll also avoid the “out of memory” errors that Visual Studio was seeing before when opening large solutions, files or objects into memory.
Solution loading and file searching is now faster as well. Visual Studio now stores additional information about the solution in the .sln file. This information is used to speed up the loading of the solution. This information is also used to speed up the file searching.
To continue on the speeding-up Visual Studio theme, Microsoft also improved the Fast up to date feature to better check to see if a project or its dependencies are up to date or need to be rebuilt.
Visual Studio 2022 has added and enhanced the debugging features of Visual Studio.
Let’s talk about breakpoints first. There are two new breakpoints that you can set in Visual Studio—temporary and dependent breakpoints—as shown in the image below.
The Temporary breakpoint is used to set a breakpoint that will only break once. Once Visual Studio hits that breakpoint, it deletes it. This is helpful if you want to set a breakpoint only to validate that something is working, and you aren’t debugging the code.
The Dependent breakpoint is used to set a breakpoint that will only break when another breakpoint is hit.
Previous versions of Visual Studio added a feature called “Run to Cursor.” This feature was used to execute code up to the code at the cursor.
However, if you had any breakpoints between where you were and where you wanted to run to, Visual Studio would stop at all those breakpoints. Now with Force Run To Cursor, you can run to the cursor without hitting any breakpoints. If you hold the shift key down while hovering over the Run to Cursor glyph, Visual Studio will change the glyph to a Force Run To Cursor glyph and will run to the cursor without hitting any breakpoints.
The Force Run to Cursor is also available in the Debug menu.
For more on breakpoints or debugging tips and tricks in Visual Studio, check out this video:
IntelliCode improves IntelliSense by using AI to help you find the right code completion. IntelliCode is context-aware and will help you find the right code completion when you are typing a method call, a property or a variable.
In the image below, I start to create a new method after the
GetContactsAsync method. After I type
public async, IntelliCode is inferring that I want to create a
DeleteContactAsync method with a parameter of type
contactId. If that is what I want, I can hit the
Tab key twice to insert the suggestion.
We now have multiple-repository support, which includes the ability to track changes across all the repositories in a project. If you open a solution that has multiple Git repositories in it, Visual Studio will connect/activate those repositories. Right now, this is limited to a max of 10 repositories.
You will be able to tell if Visual Studio has connected to or activated your different Git repositories by looking at the repository picker on the status bar (located at the lower right corner), which will tell you the number of active repositories you have.
The Git integration with Visual Studio has been improved and include support for multiple repositories, including improvements to both the Solution Explorer and Code Editors.
Hot Reload is a feature of Visual Studio that allows you to modify your application’s managed code while that application is running without the need to hit a breakpoint or pause the application. This is a cool feature that will save you a lot of time without pausing or stopping your application to see how the source code changes you made changed your application.
However, the support for this feature is still in progress. There are some scenarios and products that are not yet supported.
Visual Studio 2022 for Mac is coming. The Visual Studio team wants to make a modern .NET IDE tailored for the Mac that will look familiar to those using Visual Studio for Windows while using native macOS UI. For more on the Visual Studio 2022 for Mac and/or to join the private beta, please visit here.
While technically not released with Visual Studio 2022, Microsoft released .NET 6 at the same time and includes the .NET 6 SDK in the Visual Studio installation. So now is the time to start migrating your .NET 5, and earlier, projects to .NET 6. As Barry Dorrans @blowdart points out, .NET 5 moves to end of life in May of 2022.
Some more details on the support policy for .NET are below.
|Version||Original Release Date||Latest Patch Version||Patch Release Date||Support Level||End of Support|
|.NET 6||November 08, 2021||6.0.0||November 08, 2021||LTS||November 08, 2024|
|.NET 5||November 10, 2020||5.0.12||November 08, 2021||Current||May 08, 2022|
|.NET Core 3.1||December 3, 2019||3.1.21||November 08, 2021||LTS||December 3, 2022|
Source: .NET Support Policy
So, what’s stopping you from upgrading your IDE and version of .NET?
Joe Guadagno is a Director of Engineering at Rocket Mortgage, the US’s largest mortgage lender, based in Detroit, Michigan. He has been writing software for over 20 years, has been an active member of the .NET community, serving as a Microsoft MVP in .NET for more than 10 years. At Rocket Mortgage, he leads three software development teams building and modernizing internal services. He has spoken throughout the United States and at international events on topics ranging from Microsoft .NET, Microsoft Azure, Ionic, Bootstrap and many others (see the complete list). When not sitting at a computer, Joe loves to hang out with his family and play games, as well as checking out the latest in Home Automation. You can connect with Joe on Twitter at @jguadagno, Facebook at JosephGuadagnoNet, and on his blog at https://www.josephguadagno.net.
Subscribe to be the first to get our expert-written articles and tutorials for developers!