Visual Studio 2022 for Mac Preview 6 Does Fix-Up
Last month's Visual Studio 2022 for Mac v17.0 Preview 5 was a big deal -- dumping the Mono runtime for .NET 6 -- but it also introduced some issues, which the dev team addressed in the new Preview 6.
"The move to run Visual Studio for Mac on the .NET 6 CLR is a critical investment that will allow us to take advantage of the latest innovations from .NET," said Jordan Matthiesen, senior program manager, Visual Studio for Mac, in a Jan. 25 post announcing Preview 5. "One of the first benefits of moving from the Mono runtime to .NET 6 is improved performance for several scenarios granted by the new I/O implementation in .NET 6."
In addition to Preview 5 seeing the IDE for the first time run on top of the .NET 6 CLR, it also provided native support for running on devices with Apple's M1 (arm64) processor. After those two important milestones, it was time for the dev team to play fix-up.
That means addressing: known issues; top reported feedback; 13 major crash scenarios; core shell IDE quality improvements; support for for .NET Core 3.1 development on M1 devices.
One big known issue is that the Android Designer isn't working, addressed by a workaround requiring the use of Visual Studio for Mac 8.10 to load and build Android projects, but that's not the only one. The release notes say: "There are several bugs affecting Xamarin projects in VS for Mac 17.0 Preview 6. Hence, we recommend the use of Visual Studio for Mac 2019 for all mobile projects. We continue to work on improving quality and expect to deliver Xamarin support in VS for Mac 17.0 soon."
Work also continued on another important milestone: converting the IDE's UI to native constructs, which is said to improve performance and reliability and provide improved accessibility through better integration with macOS and its built-in assistive technologies.
"In this release we've completed moving the mainline features of the IDE to native macOS UI," said Jordan Matthiesen, senior program manager, Visual Studio for Mac, in a Feb. 17 post announcing Preview 6. "You can learn more about the benefits that come from this move in our Preview 1 blog post, which highlights our goal with Visual Studio 2022 for Mac: to make a modern .NET IDE tailored for the Mac that delivers the productive experience you've come to love in Visual Studio.
New UI code ported to native macOS UI includes:
- Preferences screens: Colors & Fonts, Keyboard Shortcuts, Debugger settings
- Git Stash dialog and Rebase dialog
- Change Signature quick action dialog
- Extension Manager
That leaves only a few remaining preference screens to be addressed in next month's update of v17.0, after which the team will primarily be tackling feedback issues, fixes and crashes and working to boost performance.
IDE features planned for a future 17.1 release, meanwhile, include:
- Regular Expression Editor
- Disassembly View, Hex Editor
- Task Panel
- Convert/export solution dialog
- Policies Dialog
- Storing per-project NuGet passwords
Matthiesen also supplied an update to VS for Mac support of .NET Multi-platform App UI (.NET MAUI), called an evolution of Xamarin.Forms in that it can create desktop apps. .NET MAUI "slipped the schedule" and didn't debut with .NET 6 last November as planned.
"We have heard lots of questions from our community about when to expect .NET MAUI app support," he said. "Once we finish Xamarin support (by Visual Studio for Mac 2022 GA), we'll shift our focus to creating an amazing experience for .NET MAUI developers. Currently, basic build/deploy/debug works, but we still need to bring over the tools you know and love from Xamarin -- like XAML Hot Reload and the Live Visual Tree.
"Along with existing Xamarin features, we are crafting new experiences for .NET MAUI that highlight the amazing developer productivity improvements it brings, such as multi-targeted single projects and .NET (C#) Hot Reload! We will provide more updates on .NET MAUI support in Visual Studio for Mac as we get closer to .NET MAUI's GA in late Q2 2022."
That above link from Matthiesen is to the roadmap of .NET MAUI, which just a couple days ago was deemed to be closing in on feature complete.
David Ramel is an editor and writer for Converge360.