News

Visual Studio 2022 for Mac Preview 3 Teases Native M1 Processor Support

In announcing Visual Studio 2022 for Mac Preview 3, Microsoft teased upcoming support for Apple M1 processors and announced the expected general availability time-frame.

"Native support for the Apple M1 ARM processor is a top request on the Community site and we'll be making it happen in upcoming preview releases," said Jordan Matthiesen, senior program manager, Visual Studio for Mac, in a Nov. 8 blog post.

Indeed, that Developer Community post from Microsoft is dated Dec. 15, 2020, and has garnered 14 comments and 120 votes.

The post notes that the VS for Mac dev team planned to add the support in two stages, first with a Rosetta translation layer and then with native support, which it said would require more extensive development.

This week, Matthiesen explained just how the team was progressing on that second stage. "To enable this support, we will be moving the IDE to run on the .NET 6 CLR (Common Language Runtime). This is a major architectural change bringing with it improvements for all our users on both Intel and M1 processors. In our initial lab tests we're already seeing improvements in performance, with large solutions loading in half the amount of time it took in the v8.10 release."

VS 2022 for Mac
[Click on image for larger view.] VS 2022 for Mac (source: Microsoft).

He also provided a release date for VS for Mac, whose development cycle has been lagging behind the Windows IDE. While the latter has already progressed through four previews and two release candidates before reaching general availability this week, VS for Mac is on Preview 3, though it was put through its paces by some 4,000 developers in a private preview. As such, VS for Mac will debut sometime in the first half of next year -- no more specific time-frame being provided.

"The final release date decision will be driven based on feedback from all of you," Matthiesen said. "This is a major update to the IDE UI and core architecture, and we want to be sure it's in great shape. As we work toward this goal, we'll update you along the way and will share a Release Candidate (RC) build as the final date approaches. In the meantime, you can continue to use Visual Studio 2019 for Mac v8.10 to build your apps with .NET 5, Xamarin, Unity, or .NET Core 3.1."

That major update involves moving the IDE to a fully native macOS UI, which is now about 75 percent done. Matthiesen explained that in the new Visual Studio 2022 for Mac, all UI will come from using macOS Cocoa APIs, so the actual OS-native UI components are used in an application. The previous scheme saw some of the UI in VSMac being custom drawn using different UI technology, without leveraging the native OS styling or event model. As far as progress on that front in this preview: "This release focused on moving the Git Manage Branches dialog, the Preferences > NuGet screens, and a set of code formatting preferences & project options."

Other new features and functionality in the new in Preview 3 include support for the latest .NET 6 release on the Mac, including C# 10 language features, so it's all set to create apps for the web and cloud, along with terminal-based console apps.

Other improvements include subword navigation, meaning that moving the cursor (via Ctrl+Alt+Left/Right Arrow) over a string like "CatalogBaseUrl" would pause on the capital C, B and U characters that lead off the subwords Catalog, Base and Url.

For visual learners, that means this:

Navigating Subwords in the C# Editor in Animated Action
[Click on image for larger, animated GIF view.] Navigating Subwords in the C# Editor in Animated Action (source: Microsoft).

New code fixes and refactorings, meanwhile, include:

  • Convert to file-scoped namespace
  • Prefer null check over type check
  • Simplify LINQ expression
  • The New Quick Actions and Refactorings Menu in Visual Studio for Mac
    [Click on image for larger view.] The New Quick Actions and Refactorings Menu in Visual Studio for Mac (source: Microsoft).

Other improvements to the editor include:

  • Language-specific settings can now be controlled with the Visual Studio > Preferences... > Behavior panes migrated to native UI.
  • NuGet package sources can be configured using the Visual Studio > Preferences... > NuGet settings.
  • Fixed a delay when first opening a file, where only 9 lines of text were shown for a short period until the rest of the file loaded.
  • C# 10 can now be selected as a target language in Project Options.

All of the above and much more is presented in greater detail in the preview's release notes.

Going forward, the VS 2022 for Mac roadmap shows these main themes:

  • Fast and fluid, for everyone: we're moving Visual Studio for Mac to native macOS UI, which will fix over 100 previously reported issues related to performance, reliability, accessibility, and product quality.
  • A modern .NET IDE for the Mac: Experience a new look and feel in Visual Studio for Mac that combines the modern macOS UI with the productive experience you've come to know and love in Visual Studio.
  • An experience familiar to Visual Studio users: we're updating menus, terminology, and the user experience across the IDE make it easier to leverage your existing knowledge of Visual Studio running on Windows.

"Our goal with Visual Studio 2022 for Mac is to make a modern .NET IDE tailored for the Mac that delivers the productive experience you've come to love in Visual Studio," the roadmap states. "We're moving Visual Studio for Mac to native macOS UI, which means it will come with better performance and reliability. This also means that Visual Studio for Mac can take better advantage of built-in macOS accessibility features. We're updating status bar, tabs, the menus and terminology across the IDE to make the experience of using Visual Studio for Mac more consistent with Windows."

Microsoft also has a web site specifically for the new offering, aptly titled "Visual Studio 2022 for Mac Preview."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

Subscribe on YouTube