Visual Studio 2022 17.5 Preview 3 is out and ready to install! This release continues to bring new productivity improvements for all developers and enhances many of the capabilities that shipped in 17.5 Preview 2.
Several of these changes in this preview came from asks in the community and are highlighted below. These and many other threads on Developer community are full of discussions, design ideas. We’d love to hear your suggestions and learn about any bugs or issues using report a problem.
General IDE Shell, Git, Editor, Debugger, and Diagnostics
- Accessibility Checker
- Spell checking (🙏 Community Suggestion)
- External Source Debugging improvements
- Markdown now available as the default editor (🙏 Community Suggestion)
- VS Intent based Suggestions
- Connect to SQL Server using Microsoft.Data.SQL.Client data provider
.NET
- Support for HTML Code Actions in Razor Files
- Razor and Roslyn Performance Improvements
- Build Acceleration for faster incremental builds
C++
Setup
IDE
Accessibility Checker
Visual Studio now has an integrated Accessibility Checker that detects many common accessibility issues for XAML based desktop applications. The Accessibility Checker uses the same axe-windows engine as Accessibility Insights, which is the same accessibility testing tool the Visual Studio team uses for our own accessibility testing. The Accessibility Checker supports WPF, UWP, WinUI and MAUI (through WinUI). To access the Accessibility Checker, make sure XAML Hot Reload is enabled in the option page, then press the “Scan for Accessibility Issues” button in the XAML Live Visual Tree toolbar.
When the Accessibility Issues button is clicked, the axe-windows engine will scan the running application for accessibility issues and present them in the Accessibility Checker window. The window will list the Automation ID, Rule, Description and a brief explanation of how to fix the particular issue for each item the axe-windows engine detects.
Spell checking
Developers take pride in their code, and a misspelled word can be embarrassing. 17.5 Preview 3 has the first preview version of our spell checker for code documents which will help folks identify misspelled words in comments, strings and identifiers for C#, C++ and Markdown files. The feature is on by default, but can be disabled by unchecking the “Text spell checker” under “Manage Preview Features”. There is also a “Toggle Text Spell Checker” button on the main toolbar, as well as a “Toggle Text Spell Checker” in the main menu under Edit\Advanced.
When an error is found in a comment or a string, the spell checker offers to correct the given instance, but when the error is in an identifier, the correction will be refactored, ensuring that the resulting code gets the code correction across the solution. The spell checker will use the EN-US dictionary as well as the dictionary that matches the display language of Windows that you’re using.
Learn more about how to configure spell checker using .editorconfig.
External Source Debugging improvements
We have been doing a lot of updates to improve the performance of the decompilation scenarios. As a result, decompilation is significantly faster in 17.5.
Consider an example where we hit an exception in a WPF application, and we would like to decompile a few framework methods on the stack for debugging. The example shows a comparison of the same decompilation in 17.4 and 17.5. As you can see, we were able to decompile multiple modules on the stack in 17.5 in less time than it took single module decompilation in 17.4.
Markdown now available as the default editor
The Markdown editor that we made available in 17.5 preview 2 is now available for all users and is now enabled by default.
VS Intent based Suggestions
Introducing VS Intent based Suggestions – a new feature in Visual Studio that provides inline suggestions in the editor based on recent changes. This feature uses Machine Learning algorithms to understand the context of your code and suggests relevant changes based on the changes you are making. It helps coding more efficiently and accurately. Try it out and experience the power of intent-based suggestions in your development workflow today!
Connect to SQL Server using Microsoft.Data.SQL.Client data provider
With Visual Studio 2022 17.5 preview 3 you can now connect to SQL Server databases in Server Explorer and the Data Source Configuration Wizard using the Microsoft.Data.SqlClient Data Provider. When adding a connection, you can use the new provider by selecting Microsoft SQL Server from the list of available Data Sources and Microsoft SqlClient Data Provider for SQL Server from the list of Data providers on the Choose Data Source dialog.
.NET
Support for HTML Code Actions in Razor Files
You can now view HTML, CSS, and JavaScript-related code actions in your code files, including your Razor files! New code actions include the following:
- Remove tag (and leave contents)
- Encode image in Base64
- Insert image height and width
Razor and Roslyn Performance Improvements
We’ve heard a lot of feedback from you about performance issues, and we’ve taken steps to address several performance-based concerns in the Razor and Roslyn spaces to make you more productive. Alongside some minor Razor performance improvements, some of the Roslyn improvements include the following:
- ProjectConfiguration switching
- Faster code analysis
- Typing perf improvements to reduce UI delays in Visual Studio
Build Acceleration for faster incremental builds
Build Acceleration helps complete incremental builds more quickly, making it faster to build your projects, while also speeding up other actions that depend upon builds such as debugging, running unit tests, and publishing applications.
The feature works by identifying situations where Visual Studio can copy files on disk rather than scheduling a build. For solutions with many project references, we’ve seen build times cut by as much as 80%.
Build Acceleration is currently opt-in, and it can be enabled by setting the AccelerateBuildsInVisualStudio
property to true in your projects. It works best when enabled for all projects in your solution, which can be done by setting the property in a Directory.Build.props
file.
C++
Brace pair colorization for C++
You can now visually distinguish each set of opening and closing braces for your C++ code making it easier to see your code’s scope or find any missing braces. This is currently only available for C++. We are also working on brace pair colorization for C#. Stay tuned for that in an upcoming release.
Open Container in terminal
We have added the capability to open your Dev Container in Visual Studio’s integrated terminal. With your project open in a Dev Container, right click the devcontainer.json file and select “Open Container in terminal”.
This will open the integrated terminal and run the docker exec command to open an interactive shell in your Dev Container.
Setup
To help make the latest versions of Visual Studio available to users that deploy the IDE using winget, Microsoft is taking ownership and will officially support the Visual Studio packages that are available through the Windows Package Manager tool. The existing structure will be modified to better reflect how we ship and maintain the product, and the new packages will be automatically updated as part of our release process. If you have existing scripts or commands that depend on the existing directory structure or package identification, there may be a onetime fix to support our new publishing process. We are very grateful to the community members, especially jedieaston, for their maintenance work in the repository to date.
Share your feedback and help us build a better Visual Studio!
As you use Visual Studio, let us know what you love, what you like, and where you’d like us to improve. You can share feedback with us via Developer Community: report any bugs or issues via report a problem and share your suggestions for new features or improvements to existing ones.
Stay connected with the Visual Studio team by following us on YouTube, Twitter, LinkedIn, Twitch and on Microsoft Learn.
As always, we appreciate the time you’ve spent reporting issues and hope you continue to give us feedback on how we’re doing and what we can improve.
Is Endpoint Explorer part of this release?
Especially digging the “minor” Razor improvement in 17.5 Preview 3 that basically removes all color coding and renders all markup and code white. 🙄
https://developercommunity.visualstudio.com/t/Pure-White-Razor-Rendering/10257907
this comment has been deleted.
When triple quotes will be fixed in Razor Editor??? https://developercommunity.visualstudio.com/t/Triple-quotes-string-does-not-work-in-Ra/10202001
Bugs, bugs, bugs…
Any plans to have the Accessibility Checker for HTML / Razor as well?
It would be super amazing and valuable to have more than “minor” performance improvements w/ Razor/Blazor. My solution has over 130k lines of C# and 35k lines of Razor. The struggle is real w/ trying to develop these days 😭
https://github.com/dotnet/razor/issues/8096
Triple quotes don’t work for two month at least (https://developercommunity.visualstudio.com/t/Triple-quotes-string-does-not-work-in-Ra/10202001). And it seems no one is gonna fix it.
Thanks for the feedback Mike-E and I’m sorry that you’re experiencing those performance roadblocks. Perf is our top priority for Razor and we hope to have more performance-related updates in the upcoming VS version releases.
Thank you for your reply, Leslie. The last we spoke you also assured me that you were going to look into Collapse Projects, which still seem to be unfinished. I am reminded of your assurance every time I would like to collapse the projects in my solution which is comprised of over 150 projects now... and counting. :) As you can probably imagine, this is quite often.
Any update would be appreciated:
https://developercommunity.visualstudio.com/t/Upgrade-Popular-MSFT-Extensions-to-VS202/1500844
brace pair colorization for c# in the work, ah finally
XAML designer for WinUI 3 and MAUI, when?
https://github.com/microsoft/microsoft-ui-xaml/issues/5917
What about a decent designer for .NET MAUI?
It is XAML, so why is there no designer?
And maybe a SVG editor.
For the rest, keep up the good work. You are making my work easier with every update
Instead of caring to improve C++/WinRT tooling to achieve feature parity with the VS tooling for C++/CX XAML and component authoring development, deprecated since 2015, we get colour braces.
And yes, I am aware of the half baked extensions that exist from community contributors.
How did you achieve the speed up for external source debugging?