Visual Studio for Mac Getting VS Code Internals in Reliability Revamp

Persistent performance and reliability issues in the Visual Studio for Mac IDE will be addressed by replacing most of the editor internals with code from the Visual Studio for Windows IDE.

That news comes in a blog post today (Oct. 16) announcing Visual Studio for Mac 2019 and a new roadmap.

Performance and reliability concerns have long been a focal point for the team developing VS for Mac, which the company in 2016 described as "evolving the mobile-centric Xamarin Studio IDE into a true mobile-first, cloud-first development tool for .NET and C#, and bringing the Visual Studio development experience to the Mac." That mobile-centric Xamarin Studio IDE was based on the open source MonoDevelop project. Mono/Xamarin guru Miguel de Icaza described VS for Mac as being built with a series of components on top of MonoDevelop.

That approach apparently wasn't enough to satisfy performance and reliability concerns raised by many developers. In announcing Visual Studio for Mac 7.6 in August, program manager Dominic Nahous listed multiple reliability fixes for issues "many of you have reported." He also listed performance fixes, saying "One of the top reported bugs in previous releases has been performance issues in the editor." That bug report was titled "Editor becomes so slow it's unusable after a while."

Those fixes apparently weren't enough, as today, Unni Ravindranathan, principal program manager, said: "Improving the typing performance and reliability is our single biggest focus area for Visual Studio 2019 for Mac. We plan to replace most of the internals of the Visual Studio for Mac editor with those from Visual Studio. Combined with the work to improve our integration of various language services, our aspiration is to bring similar levels of editor productivity from Visual Studio to Visual Studio for Mac. Finally, as a result of this work, we will also be able to address a top request from users to add Right-To-Left (RTL) support to our editor."

Other major themes for Visual Studio for Mac 2019 and the roadmap include:

  • Support for Team Foundation version control: "Including support for Team Foundation Server, with both Team Foundation Version Control (TFVC) and Git as the source control mechanisms, has been one of the top requested experiences on the Mac."
  • Increased productivity when working with projects: "The C# editor in Visual Studio for Mac will be built on top of the same Roslyn backend used by Visual Studio on Windows and will see continuous improvements."
  • .NET Core and ASP.NET Core support: "In Visual Studio 2019 for Mac, we will add support for .NET Core 3.0 when it becomes available in 2019. We will add more ASP.NET Core templates and template options to Visual Studio for Mac and improve the Azure publishing options."
  • Xamarin support: "In addition to continuing to make improvements to the Xamarin platform itself, we will focus on improving Android build performance and improving the reliability of deploying iOS and Android apps."
  • Unity support: "Unity now supports a .NET 4.7 and .NET Standard 2.0 profile, and we’re making sure that Visual Studio for Mac works out of the box to support those scenarios. Unity 2018.3 ships with Roslyn, the same C# compiler that is used with Visual Studio for Mac, and we’re enabling this for your IDE."

While Microsoft is doing away with the UserVoice site used to collect issues and feature requests in favor of the Developer Community site, the top UserVoice items listed for Visual Studio for Mac are:

  • Support C++ in Visual Studio for Mac (3,160 votes)
  • TFS Version Control (1,764 votes)
  • Manage NuGet Packages, (336 votes)
  • Add SQL Server integration (315 votes)
  • Add support for SQL Server Data Tools (272 votes)

Ravindranathan said the 2017 and 2019 versions of Visual Studio for Mac will be able to be installed side-by-side so developers can try out preview releases while still working on the stable v2017 releases, with parallel development continuing for both offerings.

"We don’t have preview bits to share with you just yet, but we wanted to share our plans early so you can help us shape the product with your feedback that you can share through our Developer Community website. We will update our roadmap for Visual Studio for Mac once a quarter to reflect any significant changes. We will also post an update to our roadmap for Visual Studio soon."

NOTE: This article was corrected to indicate VS for Mac's internals are being replaced by internals from the Visual Studio for Windows IDE, not the Visual Studio Code editor.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • What's New in Visual Studio 2019 v16.5 Preview 2

    The second preview of Visual Studio 2019 v16.5 has arrived with improvements across the flagship IDE, including the core experience and different development areas such as C++, Python, web, mobile and so on.

  • C# Shows Strong in Tech Skills Reports

    Microsoft's C# programming language continues to show strong in tech industry skills reports, with the most recent examples coming from a skills testing company and a training company.

  • Color Shards

    Sharing Data and Splitting Components in Blazor

    ASP.NET Core Version 3.1 has at least two major changes that you'll want to take advantage of. Well, Peter thinks you will. Depending on your background, your response to one of them may be a resounding “meh.”

  • Architecture Small Graphic

    Microsoft Ships Preview SDK, Guidance for New Dual-Screen Mobile Era

    Microsoft announced a new SDK and developer guidance for dealing with the new dual-screen mobile era, ushered in by the advent of ultra-portable devices such as the Surface Duo.

  • How to Create a Machine Learning Decision Tree Classifier Using C#

    After earlier explaining how to compute disorder and split data in his exploration of machine learning decision tree classifiers, resident data scientist Dr. James McCaffrey of Microsoft Research now shows how to use the splitting and disorder code to create a working decision tree classifier.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events