I don't know how good VS Code is now (with regards to all the features VS had) mainly cuz I don't code in .NET, but I still miss the powerful tools from VS that I had nearly 20 years ago (for C#), in Ruby, Elixir, etc (and some other languages).
The amazing debugging, stepping through, etc that Eclipse and Visual Studio has, were leaps and bounds more superior to all the stuff that was lacking in the simple text editors.
LSP has helped tremendously. And there are similar debugging protocols. It's kind of getting there, but again, nearly 20 years ago, I could start up a project and hit the debugger immediately without fiddling around with settings and googling around.
And I feel the lack of such good tooling has enabled a whole generation of "print string" debugging (which I totally do now) because we simply can't easily run and step through.
Is this other people's experience? Hopefully the debug world is better in Go/Rust land than it is in Elixir/Ruby land.
In Node/React/JS land with VS Code I mostly pray for rare function names (miss-spelt words for such names are gold!). There are definitely some things I miss about the Java ecosystem.
But then I debug with console.log (nee System.out.println) so probably I'm some sort of neanderthal.
> but again, nearly 20 years ago, I could start up a project and hit the debugger immediately without fiddling around with settings and googling around
It's working in VS Code now, too. For popular languages, you just have to install the respective plugin (only TypeScript is builtin), but it's just a click on the prompt. I've been doing lots of Python debugging and it's pretty much a seamless experience.
Properly navigating through python modules (clicking through to the module source) doesn’t even work nicely in VSCode (even with the base python extension installed) so I don’t have high hopes for debugging being any better. VSCode is amazing for typescript though, and I had great success doing C++ and Rust. Python seems lacking in my experience though
Excellent. I remember C# support for .NET Core was really solid even 6-7 years ago.
So for a large number of use cases, they have to be talking about retiring VS eventually too.
This multi-process architecture (with language servers, debug servers, remote SSH mode, etc probably making much better use of multiple cores has to be easier to migrate to)
Yeah. Remote mode is a killer feature IMO (sadly the official implementation is closed source, and there's no support for Docker in unofficial ones – although coincidentally I'm working on this)
I wouldn't use the word destroyed - Visual Studio (Windows) has been a billion-dollar ARR business for a long time, and likely still is. The trajectory is certainly not in favor of it, but there's an utterly massive number of enterprise .NET and C++ devs on Windows who will be using it for a long time.
Indeed. To use the new C# devkit in Visual Studio Code you need a Visual Studio/MSDN subscription too.
JetBrains Rider's a bigger competitor but even then (at least at my org.) most devs have a Visual Studio Professional/Enterprise subscription as a backup.
The crazy thing is that - I worked on VS 10 years before you did - and it was at a (near) billion $ ARR back then. So, it looks like it has been a flat business for a long time.
It's more that Microsoft lost the cross platform war. .NET lost and electron won. They even use it (or their own WebView knockoff) for their own products now. So there's no more need to give .NET away. They just milk the niche market that still depends on it.
It does yes but it's no longer a mainstream dev tool really. Which means there is no longer any point in giving it away for free to try and gain more mainstream application marketshare.
The amazing debugging, stepping through, etc that Eclipse and Visual Studio has, were leaps and bounds more superior to all the stuff that was lacking in the simple text editors.
LSP has helped tremendously. And there are similar debugging protocols. It's kind of getting there, but again, nearly 20 years ago, I could start up a project and hit the debugger immediately without fiddling around with settings and googling around.
And I feel the lack of such good tooling has enabled a whole generation of "print string" debugging (which I totally do now) because we simply can't easily run and step through.
Is this other people's experience? Hopefully the debug world is better in Go/Rust land than it is in Elixir/Ruby land.