DEV Community

Cover image for Why I switched from Atom to Visual Studio Code
Ben Halpern
Ben Halpern

Posted on • Updated on

Why I switched from Atom to Visual Studio Code

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.

Top comments (85)

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
 
mapleleaf profile image
MapleLeaf

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
 
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
 
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

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
 
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 • Edited

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

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"
Enter fullscreen mode Exit fullscreen mode

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
 
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

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
 
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

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
rapidnerd profile image
George

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.