This article is more than 1 year old

What next for Visual Studio? Microsoft's monster IDE can't please everyone and 64-bit will not solve legacy problems

Redmond is in a pickle with loyal Windows devs on one side and cloud-based Linuxy future on the other

Microsoft has announced 64-bit Visual Studio, but in its rush towards modern development some developers using older Windows or Azure technology are feeling left behind.

The forthcoming release of 64-bit Visual Studio 2022 (VS 2022) is huge news for devs who have been requesting this for over a decade. But the company still has some tricky issues to navigate with its developer community, especially those using older Microsoft technology, as well as areas where the full Visual Studio finds it hard to keep up with its nimbler cross-platform cousin, VS Code.

The context here is that today's Microsoft cares most about winning developers for its Azure platform. The combination of VS Code and GitHub is strategic because, although these tools work fine with competing platforms like AWS or Google Cloud, Microsoft can ensure that Azure is well integrated.

In addition, features like the forthcoming GitHub Codespaces, remote development environments, run on Azure. Microsoft is also improving Visual Studio for Azure and GitHub development. Corporate veep of product Amanda Silver promised that VS 2022 will set up "a complete CI/CD solution when you first create a project" based on GitHub workflows and actions as well as Azure resources.

This kind of pre-baked wizardry saves time for developers and keeps them hooked on Microsoft's platform.

old lady

Microsoft bows to the inevitable and takes Visual Studio 64-bit for 2022 version

READ MORE

That said, there are a few problems with Visual Studio in a modern development context. The first is that it runs mainly on Windows (there is a Visual Studio Mac, of which we will say more in a moment). Modern development is dominated by web and mobile clients and Windows is increasingly isolated as the only common platform that is not Unix-like. This can cause friction with things like line endings, filemode settings, Bash scripts, and Node.js modules when some developers are on Windows and some on Mac or Linux.

Microsoft has invested in Windows Subsystem for Linux to make working on Windows a hybrid Windows/Linux experience – but VS Code is ahead of Visual Studio with strong support for WSL already.

A second issue is that Visual Studio is not ideal for JavaScript and TypeScript debugging, which involves browser integration.

Git integration is a third issue. Git integration in VS Code is excellent, but in Visual Studio there are issues like lack of submodule support, where in effect multiple repositories are open. "Stop rewriting the basic git experience to make things nicer and start including this which is something developers are really blocked by!" said developer Joris Kommeren in response to a post from the team about Git support earlier this week.

Microsoft Program Manger Pratik Nadagouda answered that "it's a tough, complex problem to solve. And we've started down that path by first tackling multi-repo support."

Live in my new world or die in your old one

Another challenge for Microsoft is that as it adapts Visual Studio to fit better with modern development, it risks leaving behind developers still using older technology. Two examples are Azure DevOps, the software development and lifecycle manager which evolved from Team Foundation Server, and Visual Studio Tools for Office (VSTO), the old set of tools for extending Microsoft Office.

Azure DevOps users are concerned that as Microsoft improves GitHub support in Visual Studio, their experience is going backwards. When Microsoft introduced a "new Git experience," using Azure DevOps became harder. "I've just created a repo and when I select 'push' my two options are GitHub and GitHub Enterprise. Yeah – NO," said developer Howard Richards. "I know that GitHub is 'hip,' but it really seems like Microsoft is just throwing DevOps Repos under the bus with all of this focus on GitHub," said another.

What about VSTO?

A long-running feature request to port VSTO to .NET 5 (formerly called .NET Core) is so far unresolved. The problem here is that Microsoft has been trying to get developers to migrate Office add-ins to JavaScript and a web-based model, which works in Office 365 and cross-platform, but developers say that this approach is less powerful and that there are no porting tools.

"My company relies on VSTO to deliver our product, and while I understand that OfficeJS is the future, we need to be able to maintain our current product for the next several years while an OfficeJS-based successor is developed. Additionally, VSTO offers capabilities that OfficeJS simply does not... I would also note that VSTO has received essentially no updates since 2010," said developer Eric Smith.

"Many of our core internal processes are enabled by in-house VSTO addins that support our domain experts. This relies on a C# codebase and is maintained by engineers with primarily C# experience. The last time I looked Office Addins didn't support everything that we do in our VSTO addins, and regardless it would be extremely costly for us to port this to JavaScript and re-train the team," said another.

Past experience suggests that while Microsoft will maintain compatibility with its old technologies (such as VSTO add-ins) for a long time, it will not put significant further investment into them.

More Linux than Windows

These real-world business needs illustrate how Microsoft is being pulled two ways, pressed by its most loyal Windows-based developers to maintain and enhance their tools, while also transitioning to a cloud-based platform that is more Linux than Windows.

What about cross-platform Visual Studio? One might think that VS Code is the cross-platform tool, but Microsoft also has Visual Studio for Mac as well as requests for Visual Studio for Linux. There are also requests for a native ARM64 variant.

The Mac version is perhaps a historical accident since it arrived at Microsoft via Xamarin and was originally based on a .NET IDE called MonoDevelop. Silver said: "We're working to move Visual Studio for Mac to native macOS UI," which raises many questions about what is happening to this tool and whether more of its code will be written in C++.

It is currently less capable than Visual Studio on Windows, with its main role still for Xamarin development, which will become MAUI (Multi-Platform pp UI). It makes sense for Microsoft to share code between Visual Studio Windows and Mac as far as possible, and more cross-platform code would help with a possible future Visual Studio for Linux, but it may be hard to take Visual Studio in that cross-platform direction without further eroding its features for Windows-only development. ®

More about

TIP US OFF

Send us news


Other stories you might like