I should probably add a disclaimer to start this post. At the time of writing this post, I work for GitHub (and by extension, Microsoft (who own GitHub)). As a GitHub employee, I have no more insight into Atom's or VS Code's development or roadmaps than any other member of the public. Both Atom and VS Code are developed as open source communities on GitHub. All opinions in this post (and more generally on this blog) are always my own.
For the better part of the last 5+ years, I have used Atom as my editor of choice for all things at work. At job-minus-1, this involved an AsciiDoc + Git + custom tools workflow, but at the current job it is now Markdown + Git + custom Node.js tools.
I've really loved using Atom, but in the past couple of years it's been pretty plain to see that most people have settled on VS Code as the Electron-based editor of choice. As a result, Atom's development seems to significantly slowed.
Bugs are creeping in, and performance impacts have become noticeable, especially now that I am working on larger git repos.
After complaining that the inferior project search functionality was the main reason why I couldn't switch to VS Code, a decent-enough search functionality was added in February.
So, I made the tough choice to switch to VS Code. It's taken a while, but I think I have gotten there with a config that I am happy with. There are a lot of differences to get used to. For example, keybindings and snippets are done completely differently; in some instances it's better and easier, others it's worse and harder to configure.
VS Code also doesn't let you have as granular control of styling and appearance. In Atom, you can override the style of any CSS element you'd like, both in the editor and the chrome. IIUC, VS Code only has a limited set of things you can style. This isn't totally bad, as it doesn't actually allow me obsess over minor UI things that I could change.
As I did previously with Atom, I have also open sourced my VS Code config on GitHub. You can find it (and an archive of my Atom config) in my
mac-config repository, along with a lot of other config stuff I use on my work MacBook.