What next for Visual Studio? Microsoft's monster IDE can't please everyone and 64-bit will not solve legacy problems
- Reference: 1618925722
- News link: https://www.theregister.co.uk/2021/04/20/what_next_for_visual_studio/
- Source link:
The [1]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.
[2]
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 [3]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.
[4]
This kind of pre-baked wizardry saves time for developers and keeps them hooked on Microsoft's platform.
Microsoft bows to the inevitable and takes Visual Studio 64-bit for 2022 version [5]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!" [6]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," [7]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," [8]said another.
What about VSTO?
A long-running [9]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," [10]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," [11]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 [12]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++.
[13]
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. ®
Get our [14]Tech Resources
[1] https://www.theregister.com/2021/04/19/visual_studio_64_bit/
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YH76mKsEY0dc4xgb5A54fAAAAEU&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[3] https://devblogs.microsoft.com/visualstudio/visual-studio-2022/
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YH76mKsEY0dc4xgb5A54fAAAAEU&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[5] https://www.theregister.com/2021/04/19/visual_studio_64_bit/
[6] https://devblogs.microsoft.com/visualstudio/enhanced-productivity-with-git-in-visual-studio/#comment-24423
[7] https://developercommunity.visualstudio.com/t/create-and-push-a-new-repo-to-azure-devops-in-the/1112915#T-N1150770
[8] https://developercommunity.visualstudio.com/t/create-and-push-a-new-repo-to-azure-devops-in-the/1112915#T-N1266357
[9] https://developercommunity.visualstudio.com/t/Please-port-Visual-Studio-Tools-For-Offi/757925
[10] https://developercommunity.visualstudio.com/t/Please-port-Visual-Studio-Tools-For-Offi/757925#T-N954211
[11] https://developercommunity.visualstudio.com/t/Please-port-Visual-Studio-Tools-For-Offi/757925#T-N1204037
[12] https://developercommunity.visualstudio.com/t/Visual-Studio-for-Linux/360479
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YH76mKsEY0dc4xgb5A54fAAAAEU&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[14] https://whitepapers.theregister.com/
git integration / Azure devops push
Maybe I'm odd, but I use a separate tool for interacting with git and so any pulls, commits, pushes etc. are done using that (usually in GUI, but occasionally in command prompt for some more obscure gittery) but do nothing git related in VS. Use VS to write, build & debug code. Don't need it to be a git tool.
In same way that if I need to add some images to a project I will use a dedicated graphics editor not inbuilt VS basic image editing tools
Re: git integration / Azure devops push
I don't know why anyone on Github would use Git within VS when Github Desktop is there.
Re: git integration / Azure devops push
This, precisely.
VS now does far too much, too slowly and is frequently broken as a result of poor integration of its myriad parts. It needs to be decomposed by design rather than simply decomposing of its own accord.
And 64 bits? The IBM 1130 FORTRAN compiler ran in 8K (2^13) bytes and whereas VS is still significantly more productive as a development tool, I can't believe it's up to 2^51 times better.
"these tools work fine with competing platforms like AWS or Google Cloud, Microsoft can ensure that Azure is well integrated"
Sure, it works fine *now*.... We're at the "extend" middle stage now, right ?
Visual Studio used to be by far and away the best IDE out there. But since Visual C++ 6 it ever so slowly gone down hill.
These days it's an incredibly slow monster. They have tried to make mends in the latest version but its still incredibly slow. The trends point to Visual Studio code / electron which is just more bloat.
While they also have various slowness and memory bloat problems with large projects, the Jetbrains tools are all in all far better and more usable and of course just work out of the box on Linux.
Microsoft would do well to strip the beast down.
Instead of one nightly IDE that does everything, perhaps having specialist version of it for key languages would be a good plan.
I can honestly see .net 6 or 7 (VS2024 or 2026) being the version where windows dev options become a complete install or explicit opt in option when installing (much like windbg used to be part of a default install), cant remember the last time i did anything that exclusively targeted windows
javascript
'trying to get developers to migrate Office add-ins to JavaScript '
Can javascript source code be hidden from the user? No.
Is it suitable for commercial Office addins? No.
Why does this need to be a problem? Who said that it is desirable to have one IDE to rule them all? I've used both VS and VS Code, each for different purposes.
Yes, it would be nice to have an IDE that has all the features of VS but at the same is as fast as Code, and so wonderfully designed that the gazillion of features don't feel like bloat. And I understand that's really difficult to do in practice.
But, frankly, I can just use Code for some stuff, VS for some other, and be happy that way.