1. Programmable
2. Configurable
3. Can be used for programming in a variety of languages and frameworks
4. Bloated(?)
Hell, there's even an org mode plugin for vs code!
So, is it reasonable to view vs code (and atom?) as the successors of emacs, or as the emacs of modern day?
And if I'm thinking about jumping to something more feature rich than vim, should I jump to emacs or vs code(atom?)? I know that vim can be made feature rich with plugins, but you are lying to yourself if you say that vim can do anything an IDE can.
I’m a longtime emacs user and this seems to be a common theme for me. I try some feature in emacs, it works great but breaks on some edge case or something, and then I have to find a workaround.
The advanatage of emacs of course is that you can basically always find and implement said workaround if you try at it.
https://marketplace.visualstudio.com/items?itemName=rafaelma...
Atom is much closer to Emacs; nearly all the functionality is provided through optional packages, and it's very open to little tweaks to make it just the way you want.
Atom feels sort of like Emacs except that you have to deal with JavaScript instead of Lisp. I prefer using Elisp over JS, and Emacs is much faster, and Emacs works without an X server, and Emacs has a better Vim mode. Until one of the Electron editors can compete, I’ll stick to Emacs with Evil.
I'm not sure if SpaceMacs uses evil but it's a similar concept. That being said, I tried learning regular Emacs to see what the fuss is all about and much prefer modal editing to pressing control constantly even with caps lock mapped to control.
Your mileage may vary but if you're already editing quickly modally and have all the features you like in Emacs I'm not certain there's much upside to learning how to do a lot of the same stuff the Emacs way.
Tmux plus tmuxp was a much greater improvement for me. Being able to restart iTerm2 for updates and maintain all my sessions, no rage after accidentally quitting a session, and writing short and simple tmuxp yaml files to launch a whole environment with one command is really awesome.
I enjoy the ViM mode in IntelliJ which I assume is similar to the one in Visual Studio Code, but mostly I prefer the terminal. Everyone loves VS Code that's for sure, so they must be doing something right!
I'd probably actually write plugins for ViM if it used Lisp and in a way I'm kind of glad I don't want to learn ViMScript as I've already spent so much time over the years playing with my vimrc as it is.
Not at all. Not even in the same league. Emacs is the Emacs of the 21st century. Vim is a text-editor and never claimed to be an IDE, so I don't understand the "lying to yourself" bit.
"The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the product documentation."
Does VSCode have something like Emacs' .emacs / .init file? In one file I can load all the plugins I want and write custom code for added functionality. Rather than having to rely on other people writing a function I need, I can just hack away on my .init file to modify existing functions / create my own.
Now of course in VSCode you can create your own extensions and load it into the program to add your own functionality - but the barrier to entry for any editor (besides Vim) is much higher than Emacs. Looking at the documentation here: https://code.visualstudio.com/docs/extensions/example-hello-... - that's a lot of code and things to do to get a hello-world application working in VSCode. In emacs, that would just be a couple lines of elisp in .init.
Even if VSCode has something like .init (I got this from someone on Hacker News) - it's better to think of Emacs as basically a framework for text editors. You're able to change every single part of the application - VSCode and other editors don't hold a candle to the configuration of emacs.
VSCode isn't the successor to Emacs or a modern version of Emacs - it's just VS Code. Emacs is Emacs.
I've used both editors myself, really the best way to get what I'm saying is to use Emacs for a while until you get comfortable with it. My Emacs configuration is something I cherish and it's a joy to use everyday.
Besides programming, I use it for taking notes, a todo list, a journal, etc. Some people even use it for keeping track of finances, for drawing diagrams, for creating slideshows, etc.
However as a development environment its lacking. The interface for installing and configuring plugins is needlessly arcane, and whilst it's fast I find myself defaulting to vscode for pure productivity reasons. I don't even particularly like vscode - largely electron snobbishness tbh - but it's the best to for my particular job (frontend dweeb for a well known site with a very modern stack)
I've used intellij, visual studio, vscode, sublime and dozens of other apps extensively professionally as my day to day (eclipse and atom were low points) and all have their merits but as a fast, easy, cohesive environment that is easily setup a combination of zsh and vscode is absolutely my goto the days.
Edit. People calling vscode bloated does amuse me though. it's not exactly vim but it's a million miles away from its bigger brother.
Tangential to IDEs are tools for data science and visualization. Having a shareable workspace, akin to Azure Notebooks, can be much more user (and scientist) friendly.
Another area where I think there is potential for innovation is branded cloud IDEs that actually understand cloud native development. Not just an editor, debugger, and console. But a single interface. Where you set load balancing, firewall rules, make data queries, analyze log traffic, etc.
I've given VSCode several tries. It is slick, and fast for an Electron editor. But I've done all of my best work in Emacs for over a quarter century, and VSCode just doesn't offer enough advantage over Emacs for me to unlearn my Emacs skills and learn how to do everything under VSCode.
Emacs has modes for every cutting edge advanced research programming language imaginable.
I wanted to use some languages from the High Productivity Computing Systems project and found that Emacs was the only editor with support for Fortress https://github.com/stokito/fortress-langhttps://en.wikipedia... and Chapel (Cascade High Productivity Language) https://chapel-lang.org/ https://en.wikipedia.org/wiki/Chapel_(programming_language)
Sadly, Visual Studio Code appears to be the Visual Basic of editors for the 21st century.ie: popular and easy to use, but used by a certain kind of developer...
I've considered switching but I'm not convinced it'll still be the best in a few years. I could totally see someone making another web-tech based editor that has a more universalistic design like Emacs.
I'm still hoping somebody will fork Emacs and figure out how to bolt a nicer renderer, threading[0] and better GC onto it.
That said if you haven't already bought into any ecosystem I think VS is a great choice.
[0] this one is not realistic I guess but whatever
Now, I only use Emacs for org-mode, and for Lisp languages (Common Lisp, Scheme, and Haskel - which I consider a lisp language).
For just about everything else I now use VSCode. Recently when I discovered how even the symbolic debugger works great for Python, Java, etc., I let my yearly subscription to all of the JetBrains products lapse next year when my subscription runs out.
Love VSCode (and Emacs).
I do think that emacs, vim, visual studio code, et al. fall into the "not quite an IDE, but not just an editor" category.
Also through the power of LSP, vim can do anything an IDE or visual studio code can.