VS Code is set to rule the developer world. The core and extension model is designed beautifully. While the core editor is concentrated at performance, the extensions provide feature rich functionality for each developer needs.
I am a long-time emacs user, yet I am amazed by the simplicity of VS-Code. The only downside is that it is heavy on the CPU and some basic functionality like showing line breaks is not included.
But, setting that aside, I was begrudgingly impressed. I was conditioned at an impressionable age to be revolted by anything Microsoft, and VS Code mostly won me over.
I still prefer emacs, but only because I haven't managed to customize VS Code to match my workflow (that might be impossible for now given that I spend about half my time working in Clojure).
The configuration of key bindings has been put through the ringer by the vscodevim extension, which has long been one of the "first customers" of the key binding configurations. If Vim can bind a key to it, for the most part so can you. There are very few functions in the application that you can't key bind if you wish.
Furthermore, extensions can contribute key maps and there are key map extensions based on a number of other editors already as extensions. A link right below the key binding configuration takes you to a recommended extension list.
It is interesting that VSCode defaults to a relatively small key map, encouraging you to explore commands through the command palette instead, but VSCode seems to make up for that by giving you a lot of power to customize as you see fit (and extension capabilities to share those customizations with others).
What I don't like about plugin system is security. You install extensions from the internet which have full access to your computer including the source code you're working with. Personally, I wouldn't trust any extension or plugin not provided by a major company.
That point is where VS Code is strong. These extensions are made by the VS Code team itself. Apart from that, AFAIK these plugins are not installed as binary but source code. They have transparency at least.
>Apart from that, AFAIK these plugins are not installed as binary but source code. They have transparency at least.
You can say the same about browser extensions. They have the same distribution mechanism as VS code plugins, and still there's a good number of them doing shady stuff.
As an Emacs enthusiast I agree with that (GP's) statement. VScode is usable for everyone from the start yet is capable to grow just like vim and in most meaningful ways just like Emacs.
I have a feeling that this approachability is what will win in the end.
It won't win me over, but my investment in Emacs can be measured in over 50kb of elisp code :)
I'm moderately impressed, but I wonder why they would bother. I use VS Code as a powerful text editor and occasionally as a sorta JavaScript IDE. Java and .NET have fantastic IDEs already that are extremely hard to beat.
I don't know if I'm the only one but I don't feel comfortable with Eclipse. It's a little bit bloated for my concern. But then again, under the hood VS Code uses eclipse as well
Nothing. If anything, VS Code is one of the most complete Javascript IDE out there.
But I didn't interpret his comment that way. For me he wasn't saying that there's a better IDE Javascript than VS Code, but that there isn't any real IDE Javascript.
Which I tend to agree with. If we were talking about Typescript things might be different, but as far as Javascript goes, there's nothing on the level of what people are used when they talk about Java/C#/C++ IDEs.
That's what I thought. Eclipse for Java is still a really really good IDE which does everything. I think this is targeted towards the full stack engineers who occasionally move between IDE's.
Interesting. As a long time Visual Studio user, the clumsiness of Eclipse when forced on some projects was one of the things kept me backing away from a return to Java (back in my Java days, we used JBuilder).
Not sure if it is possible to do this, but one of the killer features for a Java IDE is automatically determining imports. Has anyone been able to get something like this working for Java on VS Code?
Unfortunately, the VS Code Java plugin doesn't have support for this yet. Here is the corresponding GitHub issue, which however hasn't seen much activity:
Or Kotlin? It sounded like this would be ”no” but ultimately it employs Eclipse JDT with this information:
”JDT Debug implements Java debugging support and works with any JDPA-compliant target Java VM. It is implemented on top of the language independent "debug model" provided by the platform debugger.”
... so I’m not sure anymore. Maybe someone with more experience can comment.