This is...not a super accurate way to describe VSCode
They all have extension architectures that expand on what that means, but they all cover the same kind of use cases and they all stop short of traditional Integrated Development Environments.
Unless you’re saying that none of the others should be called text editors either (a daunting uphill fight against history), it’s an exactly accurate description.
On personal note: my company pays for Visual Studio Ultimate + Jetbrains for me and I rarely open it these days and use VSCode 99% of the time.
Emacs users saw the benefits of a single text editor a long, long time ago. Back when I started programming it was common for people to use a different IDE per language. There was VS, Eclipse, Dreamweaver etc. I thought that was insane. It's been funny seeing people finally realise the same a decade later.
JetBrains IDEs are the sweetspot between absolute single purpose IDEs (like Eclipse) and text editors that require plugins to be useful (broadly speaking).
I am all in on JetBrains, to be perfectly transparent, but I have yet to see anything come close to the seamless experience I've had with their IDEs
Someone mentioned the visual aspact of vs. That I've literally used once, at the very start of my bachelor. Vs is confusing, huge, and densely feature packed. I think I just never took the time to enjoy the features vs has.
This isn't weird when you consider my top choices: vs code and emacs both share the characteristic that they get out of the way when I'm doing my stuff. I usually want the bare bones, vim keybinds enabled workflow when I'm working, because it's fastest and it's what I know. I can use smart features like var renaming, autorefactoring etc. in all of these options, but in vs code and in emacs I feel less like they're butting in when I don't want them to, and when I'm changing settings or executing commands I'm not traversing a dense jungle of menus, settings and options like in vs.
In short for me the experience is easier and therefore more flow like.
Run natively on Linux:
And that works pretty darn well, but struggles to integrate all of the toolchain's development opportunities into the workspace environment.
Horizontal integration across workspace modules would help too. Most text editor extensions rely on a least common denominator UX language through command palettes and button arrays and human-editable config files.
And that also works pretty darn well, but struggles to integrate all of the workspace environment's features into coordinated development workflows.
There is no slight being made against VS Code to say that it's not the same as a more fully integrated development environment. It's a very powerful tool in itself, capable of meeting most developer's needs and is far more extensible and adaptable than IDE's aim for.
I resent that emacs is a full on OS that just happens to have a less than stellar text editor.
[EDIT] It seems folks won't classify Word/GDocs as "text editors" due to their additional features. Great point! I'm getting deja vu...
emacs, vim, and VSCode are _Source Code Editors_ which are a type of text editor. You can make a source code editor into an IDE by adding integrated compiling and debugging tools.
Distinguishing VS Code from IDEs seems so forced and unintuitive to me. What's the point?
However it was designed really well in that it has a lot of good integrations which make plugins feel almost integrated and natural. Not to mention the plugin process is the smoothest i've seen of any text editor so for many people it is transparent, they just think they are enabling features and don't realize they are actually just downloading 3,000 plugins.
I'm not trying to argue a no-true-scottsman here. If people want to call it an IDE they can.
But download something from JetBrains and give that a go or something like xCode or the real Visual Studio and you'll see how deeply "integrated" it is, so that it feels like a full featured developer environment from the start, hence the IDE moniker.
There's nothing wrong with VSCode. You can do your whole job in it i'm sure. But compare it to something like JetBrains and it is really really hard to put them truly next to eachother. With enough customization you can get VSCode close, but it sure isn't like that without a lot of customization and plugins from 100 different developers with varying levels of support and reliability.
Fwiw, the Wikipedia page for Visual Studio calls it an IDE and the wikipedia page for VSCode calls it a "source code editor". So maybe as a "source code editor", thats where it bridges the gap between IDE and Text Editor.
VSCode feels pretty bog standard in the pantheon of IDEs that I've (ab)used over the decades. By default VSCode searches symbols/references, formats code, debugs, has an integrated terminal, handles source control, has smart autocomplete and snippets, etc. I've never harkened back to my days with PhpStorm/PyCharm/VS/Eclipse/CLion/etc and thought "gosh, I wish VSCode did <this-feature>".
To me, if VSCode is closer to Notepad than to NetBeans, then the "text editor" vs "IDE" distinction is virtually meaningless. Ditto for the term "source code editor." I guess it's just personal preference though.
Not that I want those things in VSCode, and if I did there's likely a plugin for that. This is just where I happen to dilineate the two.
AFAIK there were at least 2 of such plugins available, but this was the more popular one, and I don't remember what I tried before giving up, but I do not want to be playing Linux with my IDE. I need it to actually work.
If I suddenly want to do C++ development - I need to install it. And it's not easier than it is in VSCode.
[1] https://learn.microsoft.com/en-us/visualstudio/install/modif...
What other things need to be integrated before it can be blessed as an IDE?
Though this whole thread could really be considered off-topic since the original post is about Visual Studio for Mac!
Support for specific languages/debuggers/build systems is provided by extensions.
Look up how LSP and DAP work for example. A hugely successful extensible IDE system.
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.
But then I debug with console.log (nee System.out.println) so probably I'm some sort of neanderthal.
I sorely miss its code changing capabilities.
Just simple things like automatically reordering aliases in elixir would be nice.
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.
That's weird, it works for me just fine.
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)
I’ve used it before on a mobile tethered line with Tailscale and it was magical.
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.
That "niche market" likely pulls in billions of dollars from enterprises.
They tried to displace Java but failed.
C# is currently #5 on Tiobe right behind Java:
https://www.tiobe.com/tiobe-index/
It is just as mainstream as Java and everything else in the top ten.
>> They tried to displace Java but failed.
Enterprises used to be either Linux / Java shops or Windows / C# / VB shops.
Now both Java and C# are being slowly displaced by Containers, Go, and Rust.
It always felt like it to me. From the get go. But they deny it. Still, Visual Studio is so heavy, feels sluggish, written in WPF, and not from an era of modern, plugin-based software development.
Visual Studio Code also offers many features VS don’t. Oh, and it perfectly debugged Python code on Windows for me (VS somehow failed to attach its debugger to Python.exe) and auto-detected venv’s for me from the mere folder structure, none of which Visual Studio did.
Code feels like the .NET Core of Microsoft editors to me. Not only new thing for cross-platform development, but the next thing for Windows development too. Just like .NET Core.
Sure, Code still miss things but those only feel like extensions away at best. A far better and less monolithic design. Now, if we could only have it be WebView2 based rather than Electron on Windows and cut 50% RAM use right off the bat…
It takes a significant amount of clicks debugging C++. I can't just have the file and debug views present at the same time, I have to keep jumping back and forth.
The launch json config system also introduced a ridiculous amount of verbosity, not to mention it's insanely easy to multi launch instances and confuse yourself.