Comment by RandomThoughts3
1 year ago
I’m going to somehow misuse this discussion to ask for the readership help about something: I don’t understand the appeal of VSCode or more exactly I don’t understand the appeal of the text editor propped with plugins to be a semi-IDE so I guess that would also include Neovim with plugins.
In my career, I have used text editors including vim which I still very much enjoy and both Eclipse and IntelliJ when I used to code in Java which I also enjoyed.
VSCode seems to me to be as slow than a full IDE - too slow to be a nice editor - while having less features and an inferior UI to a full IDE. I don’t get it. Is it because so many languages don’t have a good IDE so people have come to accept the subpar editor+plugin experience?
Heh, I saw this thread just recently:
https://www.reddit.com/r/webdev/comments/1euwht3/webstorm_is...
Most discussions I've seen, including that one, say that VS Code is slower than most lightweight text editors but faster than most IDEs (including WebStorm which is IntelliJ). I don't personally have experience with IntelliJ, but in my experience VS Code is very noticeably faster than Eclipse.
That linked thread also mentions that compared to IntelliJ, VS Code has better remote development, a less cluttered UI, better support for multiple languages in one project. And _many_ people mention the better performance.
Personally, running an open-source project with a lot of contributors who are young or from third-world countries, it also matters a lot that VS Code is free.
> VS Code is very noticeably faster than Eclipse
Even IntelliJ is noticably faster than Eclipse. This is a heavy indictment of Eclipse, not any other editors.
For me, VSCode is not a great editor. It feels cobbled together and often provides a worse development experience compared to language specific IDE
HOWEVER..
It has a killer feature if you are doing remote development.
It (mostly seamlessly) presents the remote (ssh, docker, wsl) as if it was local, and I've yet to see another editor do it as well and as cleanly.
So much so that when doing remote development I'm prepared to put aside VSCode's other shortcomings for the superior remote development experience.
For local development I still use vim+terminal, but if I'm in a situation where development needs to be done on a remote machine, the VSCode vim bindings are good enough that I'll probably be using VSCode.
For remote development there is Fleet from JetBrains which is still in preview but mostly works (year ago it had a lot of issues). Nonetheless, it still needs a lot of improvements (rendering performance IME is poor, some functionality is missing in comparison to full-fledged IDEs like IntelliJ)
There is also JetBrains Gateway which allows you to run IntelliJ/PyCharm/etc. remotely. I'm using it and it is very usable, however, there are occasional bugs which could be explained by synchronization issues
Btw. Vim should be very usable over ssh (especially with tmux and maybe iTerm2/other terminal integration with tmux' control mode - tmux panes are native windows, new terminal window/tab creates new tmux window/pane etc.). Why are you using VSCode over Vim for remote development?
I kinda lost hope for fleet when it just started loading the intellij core to do all relevant stuff. I wanted that new editor so it would be faster, not so that I can have slightly different chrome.
> Why are you using VSCode over Vim for remote development?
Who's to say you have shell access to the remote instance?
2 replies →
I’ve used VSCode extensively because of its flexibility, remote extension, and (decent) speed. I enjoyed IntelliJ in the past, but I encountered countless performance issues on larger projects. This could be partially due to a subpar configuration, but over time I just gave up on IntelliJ and just used VSCode because it _just worked_.
As opposed to vim it has a gui, as opposed to eclipse and intellij its language agnostic, as opposed to you they obviously dont find it too slow to be a nice editor, having an inferior ui or miss any of the features.
Contrary to that they may find the ability to shape the editor using extension pretty nice, and doesn't care for having an IDE for every language they use. Its nice being in the same environment no matter what. Also the ability to ssh to another machine to edit and run code with the same experience as it was locally (in a gui) is pretty good.
Every shoe is sub par the wellington/rubber boot experience when it is raining, but you will see that most people do not wear rubber boots. People don't generally like to maximize their choices along one axis, so what can be seen as "sub par" is actually the overall best experience.
Probably a mismatch between what I expect from an IDE and what VSCode offers then, I understand that. Every time I fire it I am always deeply disappointed by the lacklustre debugger and the lack of good refactoring tools.
I never really tried the git integration as I use git purely through the CLI and didn’t try to work on a remote code base so I might have missed the killer features.
Takes very little time to configure, new languages work with LSP in a few seconds, support for headless neovim, nice gui with good font rendering in macos, decent git integration, window management is good and can be customised to use vim bindings.
Pretty much does everything you would want whereas I have a bunch of problems with emacs and neovim that stop me using them full time. Ideally I'd use emacs but it has performance issues with my giant typescript codebase I work onfor my job.
It's a fair question, my guess is that it's a great beginners IDE for multiple languages. You can quickly get up and running with all major languages, and it was one of the first products Microsoft made multiplatform and free. I'm neutral about it, it works fine for getting the job done. I'm a bit disappointed that it's ssh plugin craps out over 200MB of detritus on each remote machine it connects to. But the ability to edit remotely is a neat feature.
One answer may be that it’s not that slow for everyone. It could vary with the kind of computer you’re running it on, or what languages you’re using it for, or the size of the codebases.
I’ve seen people complain all the time about how slow VS Code is, and I haven’t really had that issue on an M1 Mac, at least not since some major perf work in VS Code a few years ago. And I know what a fast editor is — I’ve used Helix and minimally-configured Neovim for years.
I love IntelliJ, but VS Code has much better support for frontend technologies and TypeScript.
Until you work on a front end code base that's meaningfully large
It's strange that you assumed I don't work on large front-end projects rather than either asking me or sharing your own experience.
I've worked on large front-end codebases. VS Code has much better TypeScript support than IntelliJ. I'd rather this not be the case because I much prefer IntelliJ.
The reason is simple: You write Java.
People using VS Code are writing JavaScript/TypeScript/Python that doesn't need full IDE features. And VS Code is much faster than Eclipse / IDEA kinds.
I have written Ocaml, Java, C, C++, Ada and Python professionally in my career. I either used an editor or an IDE. I had a plugin for eMacs when doing Ocaml but the experience was really subpar (that was before Merlin - yes, I’m that old).
I’m sorry but having used both. VSCode is not faster than Eclipse. It’s far less good at writing Java however.
You are not really answering my question by the way. So people are indeed using VsCode because there are no proper IDE for JS and TypeScript?
> You are not really answering my question by the way. So people are indeed using VsCode because there are no proper IDE for JS and TypeScript?
Yes, that's it. There are plugins for everything and mostly works. Not the biggest fan of it anymore tho so looking for my next IDE or develop one for my liking using AI.
> I’m sorry but having used both. VSCode is not faster
When you project your own experience over everyone else's it doesn't seem like you genuinely want to understand.