I recently bought a new dev machine (after much deliberation, I went with a refurbished 2016 MacBook Pro). This was a great opportunity to reconsid...
For further actions, you may consider blocking this person and/or reporting abuse
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.
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.
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.
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.
Hmm, I may have to check out VS Code again...
What's the name of those plugins?
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):
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..
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.
I haven't gotten started with intellisense yet, but I love the idea.
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.
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...
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.
Nice, installed.
There's also several auto formatting user settings that accomplish the same thing:
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.
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.
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.
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.
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.
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.
What do you still use Atom for?
The same I use Sublime for, having another editor handy for when I open so many screens I might go insane 😆.
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. :-)
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.
.-.
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.
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.
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!
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
.That's great to know! Thanks Jorin. I just added them both to my vimrc :)
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.
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.
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.
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.
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.
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).
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.
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.
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).
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!
I used to love atom
Then it started freezing
I fiddled with, it deleted all of it reinstalled it like 10 times
With vs everything just works, have to change some muscle memory but eh
I miss atom functioning :/
Not until they have multi-root projects. I can't do it. I loved how fast VSC was but I need multiple projects.
They do, now. It's been on since November. Workspaces.
Yeah. I've since switched to VS Code.
I laughed.
loll
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.
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!
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.
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
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.
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).
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.
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
"Lacking in many respects" ...
... a BIG one that I can't figure out (I'm not the brightest programmer on the planet, obviously) ... "recent file" history? Every time I open it it only shows recent folders ... dang it, I just edited TEN files, can't I re-open at least one of 'em?
VSC is superior to several offerings in weight ... but I can't help but wonder sometimes if that's 'cause it's not as featureful ...
Hello people, last time I posted a comment was 2 years ago I think, but I can't get past that article.
I'm a developer (frontend mainly) for 13 years, for that period I've used a lot of editors (VIM, Eclipse, IntelliJ, Wingware, VisualStudio (not code), Netbeans, JDeveloper, Emacs, Atom, VSCode, a lot of...), yeah, I just like editors, and like to try them all.
Then I met Atom I was charmed, after all that years I just found it, all the features that I want in one editor, of course, not all of them was "out of the box", I'm using about 120 community packages, and of course, some of them I found a much later, some of them I've written by myself.
For people, who stated "Atom so worthless comparing to VSCode", I think they are just lazy and don't want or can to craft the things, they are "consumers", and corporation like Microsoft controls them by that meaning.
Ok, now about people comparing features amount:
Atom team stated at the very beginning that: "A hackable text editor, for developers from developers"
1. A hackable (you gave all the power to adopt editor for yourself)
2. The text editor (it's just not stated that Atom is IDE, it's not, only plugins can make it a full-blown IDE)
Atom: hackable text editor
VSCode: IDE for people that don't want to hack anything
But, "With Great Power Comes Great Responsibility":
If you do things incorrectly and do it many, then you, of course, should fill that ( because you do it for yourself :) )
Many plugins are written without deep knowledge about Web performance, and who will ever do such optimization from the beginning, where the main thing to provide some functionality in short time (for ex: "GIT log visualization", it's slow but it works, and if you want, you can hack that concrete plugin, change rendering system, make PR, profit)
And Microsoft take it into account and make plugin architecture where all plugin run in the isolated process, and can't access the UI, the API provides the list of capability points, and you can only declare what you want to displays, but not how, and that's the reason why Microsoft has to had to implement many things out of the box
Atom just don't provide any UI API, at the beginning they have something that was called "Pen View", but later it was deprecated with the notation that you can use all power of web technologies, and people do, each start to use it's own preferable web frameworks to form UI for their plugins: React, Angular, Vue ... etc so now Atom UI with plugins it's some Zoo ))
VIM support in VSCode is ugly, comparing to Atom. It's funny I've seen just identical issue, one in Atom, second in VSCode repository, all from different authors, but each about same: "I need feature X in core to implement feature Y in Vim plugin", Atom team: "ok, let's look into the matter and we will fix that" (and they fixed), VSCode team: "ok, let's talk about it", and at that moment M$ manager arrives and close that issue with words like: "We have more priority things to do right now, happy coding" (aha, for example, make some bells and whistles)
p.s: factory always wins over crafters
I think (havent benchmarked, would love to see one) sublime is still faster when working with large files (replace all and such)
It definitely is, but if I can get fast enough alongside an overall superb developer experience out the box, it's more than worth. Devs are starting to realize that more goes into an editor choice than just speed.
Strongly agree, I'm on pycharm, but sublime is still my text editor (:
Been using VS Code for the last two days now, and I loveeeeeeeee it. Don't think I'll be going back to Atom anytime soon. Thanks for this :D
I can't get over that it doesn't have built in go to definition and find usages... :/
I switched from Sublime text to Pycharm as I mostly work with Python, I think I made a good choice.
I am using VSC since 1,5 year now. And I can't look back.
I'd heard many laudatory plaudits re: Visual Studio Code and finally decided to try it out this Mon. By Tue. I was converted, and today I made the switch from Sublime in full. (Actually a surprisingly painless process – things seem to "just work" in VSC...) Clearly, much like the fanbois mentioned by the OP, I am in love. Suddenly absolutely, entirely, ragingly in love. (With a text editor, yes.)
So in other terms, there was no reason whatsoever but you just saw the hype happening and wanted to be part of the hype.
Viva La VS Code!
I use gedit with a simple configuration like a panel to browse my files and that's it, but it looks like vs code is an amazing tool and a light one.
Atom is way too slow comparing to VScode ....
Yeah! and I think this is the main reason about Why I gonna change it to VSC.
I tried, but I just couldn't do it. I may give it another chance in the future, but it was a lot of overhead for the time frame I had.
Yeah, that's kind of how my first spin went. I downloaded it, played around for a bit, but didn't have the headspace to move forward. The new computer put me in a much better groove to take the plunge with new tech.
I switched to vscode after I was using Atom and accidentally opened an HTML file in code... haven't used another editor since then
I mean:
It works nicely for me with Unity and C# as I have intellisense using OmniSharp.
It goes great for me with C/C++ as I easily do my builds and test runs using tasks and batch files.
I tend to use Intellij IDEA for compiled languages like Java, Groovy, etc but I always switch over to VS Code if it is Vanilla JS, Node.JS, PHP, etc
Try Spacemacs, a distribution of Emacs with Vim keybindings and lots of awesome features out of the box.
Too bad it still cannot handle mixed PHP/HTML documents or I would have switched months ago.
There might be a handy extension for it.
I've been using VS Code for some weeks. I agree, it's very good.
One day vscode beat atom in github.
Thanks for the article. I'm just moved out from atom to VSCode. One special thing in Atom is one ui theme, but vscode has the plugin to it. I really love to use the vscode! 💓
Can someone explain why VSCode is faster? It's made with Electron, same as Atom. Atom's sluggishness (which is largely the weight of my plugins I think) is my only reason I consider switching.
VSCode is not that much faster than Atom. It definitely handles certain cases like big files better, but I can't say why. Sublime destroys them both in pretty much every benchmark.