loading...
Cover image for Why I switched from Atom to Visual Studio Code

Why I switched from Atom to Visual Studio Code

ben profile image Ben Halpern Updated on ・2 min read

I recently bought a new dev machine (after much deliberation, I went with a refurbished 2016 MacBook Pro). This was a great opportunity to reconsider the applications I use for my software development. I had been writing code in Atom on my old computer, and I was happy enough with it to not bother switching... for the most part.

I like the idea behind Atom, that it's super customizable with widely-known web technologies to ensure it's on the cutting edge in terms of packages written for it and fast adoption of new technologies. But it was slow, and not all that advanced in any special way. I was open to change.

I dip around between technologies in, mostly, the web development space, and I did not want a full-on IDE. There are a few options for basic code editors out there, and the idea of moving to something like Vim never really appealed to me. Atom and VS Code both lose badly in performance to Sublime.

So why did I go with VS Code?

People fucking love it. Between features, performance, use cases, etc. you can make a case for any editor, and I can't take two months to immerse myself in each one. I took the community for insights. In this thread from a few months ago "Which editor do you use and why?", the verdict was clear to me. Nobody raved about any editor like they did about VS Code. I read through most of the whole thread and the positive feelings towards this editor stood out above the rest.

Here are a couple examples.

VS Code. I Loveeeeeeeeeeeee VS Code, well it's been nearly 6 months with vscode. In this time period i used many other editor/IDE also like atom, sublime which i previously used too before Code, I recommend this to everyone, Please have a try once....

The main keys to use VS Code:

  1. Peek View
  2. Intellisense
  3. Integrated Terminal
  4. Built-in Git
  5. Task Runner
  6. Built-In Node.js Debugger

These all features are built-in
Highly Recommended for all the JavaScript and NodeJs Developer's

There are many more awesome features...

Have a try once, code.visualstudio.com/download
You can ThankMe Later!

VS Code for sure! Absolutely love it! The Intellisense for TypeScript especially but excellent support for JavaScript as well as many other languages! So much faster than Atom particularly when opening very large files. Also I found Atom had far too many package errors too often, something I haven't ever seen with VS Code. I also prefer it over Sublime Text for several reasons: It's totally free, I don't have to pay $70 for it. Also I find it to be a far more modern experience. It also has monthly updates that significantly improve the experience each time, and there's a fantastic extension community. And all of those editors are better than Webstorm, which is far too clunky and slow of an experience for me.

I've heavily used Sublime, Atom, and Webstorm in the past so I based my decision very much off of experience.

People have different reasons for liking different editors, but people love this editor. It has now been a few days for me and I can see why people like it. The git integration is very convenient, and it seems well-designed overall. I'm not one to really fanboy over any piece of technology, but in my entire time using Atom, I never really felt like I was using an editor that was giving me all that much.

I still can't make a strong argument for any editor over another with regards to features and metrics, but the passion for this editor stood out and that was enough for me to buy in. In order to feel good about the choice, one also has to be confident not only in the present product in the direction of the project. I like what Microsoft is doing these days and I trust them to support and lean into VS Code and I am happy with the switch. Ultimately the editor only matters so much as it gets out of the way and lets you write software, but I'm happy with my current situation.

Update: Still using VSCode, and now everyone else is it seems.

Discussion

pic
Editor guide
Collapse
alsoicode profile image
Brandon Taylor

I switched from Sublime Text to Visual Studio code and never looked back. I mostly do TypeScript and Angular development, and the built-in TypeScript support plus a few plugins like npm Intellisense, Path Intellisense and angular2-inline make it my go-to IDE.

Collapse
ben profile image
Ben Halpern Author

I haven't gotten started with intellisense yet, but I love the idea.

Collapse
alsoicode profile image
Brandon Taylor

It makes a huge difference.

The time savings alone are worth the investment, not to mention being able to do things like peek at classes, navigate to other files using Ctrl + click, etc.

I like the idea of Atom, but found it a bit slow, even on machines with i7 processors and plenty of RAM. VSC runs really fast, even on my slightly older Surface Pro 4, and even faster on my new Surface (5).

For JavaScript / TypeScript based projects, I really wouldn't want to use anything else. I still do some Python development, and that's one area where VSC could use some help.

If VSC could recognize which virtualenv is active without having to start it from the command line, that would be really convenient, and if someone would port the Anaconda plugin to VSC, I wouldn't have to use Sublime at all.

Collapse
prodigalknight profile image
RevanProdigalKnight

I still use Sublime 3 because I've figured out what plugins to use to get a similar (if not better) experience with it compared to Atom/VS Code. I tried VS Code a few months ago, but I was too used to the Sublime Text keyboard shortcuts (Ctrl+Click for multi-cursor in particular) and I couldn't re-bind all of them due to bugs in VS Code itself. If they ever fix those issues, I may switch over for all but very large files.

Collapse
johnbwoodruff profile image
John Woodruff

Have you seen the official Sublime Text Keymap extension? Microsoft released it a couple months ago (as well as an Atom Keymap extension). I have a co-worker who, once he got his hands on the Sublime Text Keymap extension, has never gone back to Sublime. He had used Sublime for years and kept talking about how it was the best, but VS Code won him over big time.

Collapse
prodigalknight profile image
RevanProdigalKnight

Yeah, I tried the Sublime Text Keymap extension, but as I mentioned, due to bugs in VS Code itself it can't remap multiple cursor selection to Ctrl+Click, and that killed it for me. I'm far too used to Ctrl+Click and from what I read, that sometimes (or all the time, I can't remember for sure) causes VS Code to try to run some or all of your current plugins on whatever word you're hovering over in the file you're currently editing.

Thread Thread
kingdaro profile image
kingdaro

They added the ability to change the modifier for multi-select and hyper clicks. code.visualstudio.com/updates/v1_1...

Tons of issues and requested or "missing" features often get added in the next few release cycles, if not immediately. Better indentation for languages like Ruby and Lua was just recently introduced as well, for example.

Thread Thread
prodigalknight profile image
RevanProdigalKnight

Hmm, I may have to check out VS Code again...

Collapse
rubenmoya_ profile image
rubenmoya

What's the name of those plugins?

Collapse
prodigalknight profile image
RevanProdigalKnight

Over time the list has changed depending on what I'm working on/with, but the core plugins (typically) consist of the following (not all are strictly necessary, some of them are just for [better?] visual effects):

  • Package Control (obviously)
  • CodeFormatter (mostly for when trying to decipher copy-pasted code I didn't write)
  • EasyDiff
  • Git
  • Github Tools
  • Jade Build (building Jade/Pug templates immediately for testing)
  • JavaScriptNext - ES6 Syntax
  • Monokai Extended (I like the additional syntax highlighting colors)
  • Open Folder (probably one of the handiest plugins next to SideBarEnhancements)
  • PackageDev (for additional syntax highlighting)
  • PackageResourceViewer (for when I want to make tweaks for my own personal use)
  • Pug (formerly Jade)
  • Seti_UI (I like the flattened theme, but I customized it heavily to look more like the Monokai Extended colors)
  • SideBarEnhancements
  • SideBarFolders
  • SublimeLinter (and contributing projects)
  • SublimeSVN (never did pay for a license though)
  • TypeScript
Collapse
stephenjbell profile image
Stephen Bell

I love Git integration. Highlighting the changed lines in the document and the scrollbar makes it easy to see where you're working when you're scrolling through your document.

One of the sore points for me with VS Code was a lack of "paste and indent", but that's easy to fix with an extension: marketplace.visualstudio.com/items...

Collapse
moopet profile image
Ben Sinclair

Hasn't that sort of git integration been available in every IDE for years? I seem to remember NetBeans doing it with an option to use its own internal revision system as well as git, svn, cvs, etc, and that was several years ago. Even vim has had plugins to show git changes with little coloured markers in the gutter for that long.
Not that I'm saying it's not good in VCS, I haven't tried it - I'm just saying that what you're describing is not something that would make me think it was anything special.

Collapse
ben profile image
Ben Halpern Author

Nice, installed.

Collapse
johnbwoodruff profile image
John Woodruff

There's also several auto formatting user settings that accomplish the same thing:

"editor.formatOnType"
"editor.formatOnPaste"
"editor.formatOnSave"

Note that this will format the whole document as opposed to just the pasted lines. However, if you like a cleanly formatted document, that won't be a problem. It may, however, take some tweaking to get the formatting rules to how you like them.

Thread Thread
johnbwoodruff profile image
John Woodruff

UPDATE: Just got a new version of VS Code released today! Now includes auto indentation:

code.visualstudio.com/updates/v1_1...

Helps if you don't want the full formatting, just indentation.

Collapse
risingsungames profile image
James

I must be in the minority.

I use both VS Code and Atom, but I much prefer Atom. I have heard the argument that it is slow, but I have never found this in the many many months of using it. It opens within seconds, just like VS Code, so there's no reason for me to switch.

In fact, the only thing I use VS Code for is writing markdown files..

Collapse
jasonekratz profile image
jasonekratz

Interesting. Why is that? Atom, IMHO, is better for Markdown editing with its GFM support. I keep trying VSC but it only supports CommonMark, which quite frankly sucks. I write all of my notes in Markdown and the task list feature of GFM is very handy and not doable in VSC. I Obviously I can write the syntax ;) but not having that support in the preview sucks.

Collapse
edm00se profile image
Eric McCormick

On my new machine, I realized after a few days of work I hadn't installed Atom yet, but VS Code was on it day 1. Everything I felt could be better with Atom is in VS Code. I still use Atom and Sublime, but VS Code is where I default to now.

Collapse
ben profile image
Ben Halpern Author

What do you still use Atom for?

Collapse
edm00se profile image
Eric McCormick

The same I use Sublime for, having another editor handy for when I open so many screens I might go insane 😆.

Collapse
pluscubed profile image
Daniel Ciao

I recently got into web development. Coming from an Android/Java background using Android Studio/IntelliJ, I naturally switched to Webstorm. The key bindings, menus, syntax highlighting, etc. are the most familiar to me (+ Jetbrains' entire line is free as student). I've tried VS Code, and it is definitely much less CPU/memory intensive, but I don't know if the benefits are worth the switching costs.

Collapse
weswedding profile image
Weston Wedding

I tried to get an old Java project up and running in VSCode and found myself having wasted a good hour before giving up and switching back to my IDE.

I can't imagine VSCode beating any of JetBrains' IDEs.

Collapse
rdmihov profile image
Radoslav Mihov

For Java and C# (both .NET and .NET core) the IDEs are definitely better (I do wish I could use it for Java but the support and features are not there yet). VS Code is the best option you have if you want to develop .NET core on Linux (because it's much lighter than JetBrains Ryder).

JavaScript, Python, scripting languages and DevOps software scripts (Docker, Ansible, Terraform, etc.) is where VS Code truly shines.

Collapse
aghost7 profile image
Jonathan Boudreau

I don't think popularity is a very good reason to use a specific editor. Editors are a very personal thing and should make sense for your workflow. Whether people like it or love it shouldn't matter, it should be about you anyways.

Collapse
ben profile image
Ben Halpern Author

I'm not sure where the threshold would be, but at some level you need some popularity to ensure the best tools get written for the editor.

Collapse
aghost7 profile image
Jonathan Boudreau

It isn't something to directly factor in. People will not use an editor which doesn't have good plugins so its more the other way around. It has more to do with how invested the developers working on the editor are.

Collapse
johnlukeg profile image
John Luke Garofalo

I just switched from vim to try out VS Code. I really like the file auto complete part of intellisense. I always have to guess what the relative path of files are when I import them and so it saves me 0.3ms a day not playing that game. The Git diff is really nice as well. I will make a pull request just to see the visual diff UI so this makes it so much easier. Great article Ben!

Collapse
jorinvo profile image
jorin

For me deoplete does a good job at completing file paths in vim.
fugitive does a great job at Git and amost many other things shows pretty diffs with :GDiff.

Collapse
johnlukeg profile image
John Luke Garofalo

That's great to know! Thanks Jorin. I just added them both to my vimrc :)

Collapse
soundstruck profile image
Dina Gathe

Okay, okay, okay! See what you made me do....I'm downloading VS Code now. Of course, right around the time I have all my Atom plugins stable and I'm super comfortable. But now you made me curious. :-)

Collapse
johnbwoodruff profile image
John Woodruff

Fun to see my comment from months ago! :) Happily my love for VS Code has only grown since then! So many amazing features added in that short time, yet without compromising the elegant experience I came to love so quickly.

During the last few months I've gone back to Atom and Sublime a couple times but never lasted more than about 2 hours before I was back in VS Code. Also tons of amazing extensions in the marketplace, many many more than there were when I originally commented.

If you haven't tried VS Code, seriously, just give it a try for a few weeks.

Collapse
mohessaid profile image
Mohammed E. MEZERREG

I too work with VS Code. I was working with Atom, but when it arrives in mixed content apps, Atom goes nuts. Sublime as well. The only company that provides product with full support for RTL and bi-directional languages is Microsoft. From MS Office suite to VS Code.

Collapse
rapidnerd profile image
George Marr

Very interesting read for sure, I was struggling between using a variety of editors for some basic JavaScript apps. I tend to stay within the Jetbrains area of IDEs and Editors seeing as I mostly use them. However I started to play around with visual studio code for a while and found it pretty nice to use. Specifically like the way that it has a built in terminal (most terminals end up hating me).

Collapse
dmakovec profile image
Dan Makovec

I've been an IntelliJ user (Webstorm, Phpstorm) for years, but it has always had terrible performance with JS. I tried VSC with storm key bindings and finally feel productive again. To tell the truth it doesn't do anything that Storm didn't, it just does it faster, with no random pauses.

Collapse
sanguine8082 profile image
Aaron Pfalzgraf

I myself also tried using Atom, for no other reason than just to experiment with different editors. I felt the same way, that it was good, but that it just wasn't good enough.

Switched to VSCode and I'm never going back (at least until the next big thing comes out, who knows). I absolutely love the ability for it to handle commit messages, diffs, and (apparently) merges, though I haven't tried that yet. The ability to pair the integrated terminal with Git Bash on Windows is great. I have yet to make extensive use of the Git integration (except for the Git Lens extension!), I like GitKraken too much. The ability to quickly throw a debug environment together (using the Python extension) without having to open another program was huge! (sorry Pycharm)

As you said, the community is very active and supportive. The program gets very regular updates with much needed fixes and requested features.

Collapse
diogorg profile image
Diogo_&_Ellie

I'm trying to switch from Atom to Code. But is not that simple for me.
Atom have so much worst performance, but I didn't have any problem with that.
And I miss a lot of features from Atom. Like

1- The linter is so much simple in code, it doesn't have any highlight in the lines.
2- Can't highlight the changed files at explorer. (git changes)
3- A lot of miss packages/extensions.
4- All the laravel extensions made the emmet get wrong.

I like the interface. I think it is in a good way. But both Atom and Code have huge bad points. They looks like good choises in the future, not right now.

Collapse
tribex profile image
Joshua Bemenderfer

I kinda feel alone...

I started with Atom, tried to switch to VS Code but found it lacking so many times, then recently switched from Atom to Sublime Text 3 and am loving it. It has just about everything I loved from Atom, including packages, and is way faster.

.-.

Collapse
jsalvador profile image
Juanjo Salvador

I used to be an Atom user like you, then I took a Microsoft in the knee.
Seriously, I love Atom. But VS Code has a lot of useful tools for web developers, and the Angular community is supporting VS Code, a lot. I started using it because my work needs it, and now... I'm VS Code lover.

Collapse
binaryforgeltd profile image
Bart Karalus

Initially I was secretly cheating on Sublime that I had an estabilished relationship with for ages. But one day I just could not take it anymore and even though Sublime is still living in my machine, we do not talk much anymore. It is not a bad tool, it just something... not sure.
VS Code for life!

Collapse
jmau111 profile image
Julien Maury

Atom is pretty cool, hackable etc...
BUT it crashes like all the time.

Made the switch to VS code, it is awesome. Really appreciate extensions like this one marketplace.visualstudio.com/items..., marketplace is huge.

Collapse
tiffany profile image
Tiffany White

Not until they have multi-root projects. I can't do it. I loved how fast VSC was but I need multiple projects.

Collapse
akashdeepsingh profile image
Akashdeep Singh

They do, now. It's been on since November. Workspaces.

Collapse
tiffany profile image
Tiffany White

Yeah. I've since switched to VS Code.

Thread Thread
minhtrungaa profile image
minhtrungaa

I laughed.

Thread Thread
pramanadiputra profile image
Collapse
edwin_r_c profile image
Edwin Ramirez

I started in a new project made in EmberJS at work and everybody here used Atom. I, coming from Sublime, RubyMine, and a little of Vim, had no issue with trying out something new. I totally loved how I could customize Atom but the random lag when switching/opening/scrolling files made me look for better options.
Just like the author says, people just love VS Code with a passion. I had to try it out since it promised to be faster and more stable then Atom. It wasn't, at first. Until I added my tmp folders to the excluded files setting.
Now I really need the VSC team to finish implementing their "Multi root workspaces" so I can replace Atom for good (But I will always miss my favorite Atom theme: Knight Rider atom.io/packages/knightrider-syntax).

Collapse
yawnyoice profile image
Yawn Yoice

VSCode is Ok... but not terribly Mac-like any more than Atom.
But for Python? Atom is hands down the best editor cum IDE today.
That's after trying them all for extended periods and trying atom multiple times over a few years to see if it was ready.
PyCharm? Well, it's not bad, but it's all very Eclipse with lipstick. Eclipse + PyDev is free and does 99% the same stuff.
TextMate? Hands down, best Mac UI and intuitive as can be. Extensibility is starting to look tired in comparison to others, docs are kind of light. Completion and code intel are weak.
BBEdit? Nice to look at, totally mac-like (a bit 90's) but super limited in terms of code intel and completions.
Xcode? not for most languages.
Most of the Electron crowd? not really there.
Vim? Learning curve, super portable if you don't add any packages.
Emacs? Famous learning curve, famous power, but I want to be productive now.
Atom's really really come a long way. Still lots of customization needed (keymaps are stinky).
Atom's Python tooling is excellent.
VSCode? Just so much harder to manage the packages and limited in the Python space.

For JavaScript-centric development, I think VSCode and Atom can both do a great job.

Collapse
arenddeboer profile image
Arend de Boer

I find myself switching from Webstorm to vscode to Atom. All have their strong points. Currently back to Atom from vscode due to poor intellisense suggestion ordering and limited support for JSDoc tags.

Collapse
aviaryan profile image
Avi Aryan

VSCode is the best JavaScript/web programming editor out there. It has great intelli-sense, supports debugging + has an inbuilt terminal. You don't find this in Sublime Text. Atom and WebStorm are slow and resource heavy. VSCode all the way!

Collapse
akashdeepsingh profile image
Akashdeep Singh

This article really resonates with me. I've used many IDEs since I started development: TurboC++, DevC++, Notepad, Notepad++, Netbeans, Eclipse, Visual Studio Express/Community, Python IDLE, PyCharm, IntelliJ IDEA, Sublime Text 2/3, Atom and vim. For some reason, I always felt the itch to switch because something or the other bothered me. I used Sublime for professional development a long time before switching to Netbeans, and finally to VSCode. This was a year and a half ago. I haven't felt the need to switch, although I tried Sublime Text 3 and Atom again for variety but couldn't make it stick despite putting in effort.

The thing with VSCode has been that there isn't a lot you need to do to make it do your bidding and it does not get in your way.

I like trying out new stuff, so I know I'll keep testing out other editors. So far, VSCode has stood the test of time.

Collapse
hey68you profile image
hey68you

Hey Ben - Switched from WebStorm yesterday after reading this post and I'm really loving it - I tried Atom a few times but it never pulled me away from WebStorm like VS Code is doing... don't think I'll never have to go back to WebStorm

Collapse
nessee profile image
Olly Harkness

There were so many things I didn't like about VS Code that I couldn't tear myself away from Atom. The basic find and replace isn't as good, I wasn't able to open more than one project at a time, and I couldn't find a way to view git history as well as the Git Time Machine plugin for Atom. I still use VS Code on a Windows VM for some projects. Do I think I'll replace Atom on my Mac? No way.

Collapse
irakli2692 profile image
irakli2692

I am atom user.

there are some features I need in atom and vs code doesn't have.

git diff highlight on files (file names change colors).

git diff highlight in minimap.

selection highlight in minimap.

linter warnings highlight in minimap.

minimap itself and its tools listed above are plugins.

there also some packages that I miss in vs code. for example Sublime-Style-Column-Selection, expand-selection-to-quotes (ctrl and ' . there are plugins in VSCode for selections. but this package is very comfortable for me).

Collapse
dhanush_ramuk profile image
dhanush 

I switched from Sublime text to Pycharm as I mostly work with Python, I think I made a good choice.

Collapse
samipietikainen profile image
Sami Pietikäinen

For those how like vim, it is possible to get vim-mode to VS Code with an extension and it seems to work pretty well. It is also possible to toggle the vim-mode so the standard key bindings can be used as well.

Collapse
pabl0xf profile image
Pablo Frias

I'm still stick to Atom as my main editor.
VS is great but I guess I'm just to lazy to configure some stuff I found annoying like opening a new file is open over my current tab open a new folder is also over the same open project if I don't open another window first. There is not option to duplicate files quickly, find in all files works but I like better the way is display in Atom (similar to Sublime) also I had some issues with indentation.
I totally agree that the performance is better in VS but is not a big deal for me right now at least for my current setup, and I like the console but that's not enough to switch my defaul editor for now. I'll keep an eye in VS improvements though