News

Visual Studio for Mac Dev Team Explains Editor Revamp Prompted by Complaints

After many developer complaints such as "Editor becomes so slow it's unusable after a while," the Visual Studio for Mac dev team revamped all of the IDE's editors and this week explained those changes.

That April 2018 complaint above -- one of many -- said: "VSmac responds normally right after launch but it gradually becomes slower and slower to the point where it's unusable and I need to restart it."

Such negative developer feedback prompted Microsoft to focus on an editor revamp that borrowed the internals from Visual Studio for Windows, the fruits of which were finally realized in the recent general availability of VS for Mac 8.3.

This week, the company explained the work involved.

"Over the past year, the Visual Studio for Mac team updated the editors within the IDE to be faster, more fluent and more productive," said Cody Beyer, program manager. "We did this by building a macOS-native editor interface on top of the same editor backend as Visual Studio on Windows."

Editor Structure
[Click on image for larger view.] Editor Structure (source: Microsoft).

The step-by-step revamp included:

  • Introduction of a new C# editor in v8.1
  • A new XAML editor in v8.2
  • Updated web languages to utilize the new editors in v8.3

Going into the details, Beyer said:

At the core of the updated editors within Visual Studio for Mac is the shared language service with Visual Studio on Windows. What this means is that the same backend that powers the Windows version of Visual Studio now powers the macOS version as well. This includes IntelliSense, Roslyn, text logic, and all the language services behind the scenes. The only portion not shared between Windows and macOS is the UI layer, which stays native for each platform. In the case of macOS, that means using macOS frameworks like Cocoa and CoreText to power the UI experience. By using a native UI, while also being able to utilize support for native input methods as well as support for right-to-left languages, font ligatures and other advanced graphical features.

Beyer also detailed his top five favorite new editor features:

  1. Multi-Caret Editing: Multi-caret allows you to insert any number of carets (text insertion points) within the file you are editing.
  2. IntelliSense Type Filtering: With IntelliSense Type Filtering, you can filter the completion list by type of completion.
  3. Show Import Items: The IDE not only shows completions which have already imported, but also completions that are available for import.
  4. Right-to-Left and Native Input Support: A top ask from our community was to enable support of right-to-left and bi-directional languages.
  5. Ligature Support: If you use a font which supports ligatures, such as the newly released Cascadia Code, Visual Studio for Mac 2019 will automatically support the insertion of ligatures in place of common dual character glyphs.

Those features are aimed at making VS for Mac development more productive, delightful and fun, he said. He also solicited more feedback via the Report a Problem menu in the IDE.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube