Hacker News new | ask | show | jobs
by ainar-g 3284 days ago
Please, don't consider this a troll question (I personally am a vim kind of guy), but is there any reason to use Atom over VSCode these days?

The sole reason to me seems that VSCode is developed by the "evil" Microsoft. Other than that, most people I know who tried Atom switched to VSCode or (back to) Sublime in the end.

21 comments

Used to use Atom over VS Code, but for whatever reason VS Code just feels more like a lightweight IDE than a text editor. I don't consider it a text editor by default because it comes with debugging and other features. The fact that it's called Visual STUDIO Code tells me it's not necessarily lightweight which I'm fine with. Visual Studio Code has amazing D and Rust plugins that are better than programming D in most other environments for me, including Sublime Text and using the IntelliJ plugin. The only other editor that had decent D support for me was emacs with Spacemacs setup.

If Atom came close to the experience I get out of Visual Studio Code I may consider it, but at that point, why would I bother switching. I still use Sublime sometimes, like when regular Visual Studio freezes up (cause of ReSharper) and I just want to edit code without intellisense freezing me up.

Also C# support for VS Code is amazing. I'm almost saddened that it's not ported over to support Sublime Text, the plugins for ST seem to be discontinued in some cases and abandoned. Atom just always feels sluggish, but VS Code just seems to open up quickly and they use repgrip for code searching so it's Rust running through all your source files to find whatever you're looking for at blazing fast speeds.

Amazing D plugin? Which one? I have one plugin installed (don't remember which one now, I have it at home) and while it's acceptable, I wouldn't call it amazing. It doesn't do autocomplete from dub packages, it doesn't have any refactoring features.
Not sure if it does autocomplete of dub packages[0] but it has most features other plugins on other editors lack[1].

[0]: https://marketplace.visualstudio.com/items?itemName=webfreak...

[1]: https://wiki.dlang.org/Editors

I've switched over to something more lightweight - XCode.
I was being facetious, but actually with similar sized projects loaded XCode is at ~300MB and Atom is ~500MB.
Atom 1.9 beta is using a native c++ text buffer https://github.com/atom/superstring
I switched back to Sublime after a while, Atom was so slow to start, at least when I first tried it out in ~2014 (2015?). Sublime loads in like 100ms on all my machines.

I'm also the vim kind tho, but when I browse large datasets and dumps I use Sublime.

I could never really enjoy vim in a graphical context - but whenever I have to edit inside a terminal I'm super productive with it. I also stay mostly on Sublime, and never liked vim emulation - my brain doesn't engage in vi mode there.
Out of interest, what is your issue with graphical vim? I quite like some of the neovim gui's since they have faster screen draw times and still allow access to terminals/repls/test results/whatever via term buffers.

Although I usually still use the terminal version because it removes the binary dependency when cloning dot files on a new pc and there aren't any major differences.

The load time was also one of my 2 reasons to jump back to sublime. The other reason was it struggled opening Linux mounted ssh files. If those things can be dealt with I would love atom and modifying with JavaScript and CSS.
I'm very much a Sublime guy but I decided to try VSCode a couple weeks ago, and haven't gone back yet, so there's that (and this is a big deal as I'm traditionally anti-Microsoft)
Atom is free. Sublime costs $70. Plus, Atom comes with several lovely features Sublime doesn't have. Pay less, get more? Great deal! It's funny to catch friends looking at Sublime's payment popup window. I always joke, "oh, you're still evaluating?" Of course they're not evaluating. They're never going to pay for it. What a nuisance.

Atom has excellent window management. It's very easy to drag a tab and split it half-and-half with any other window horizontally or vertically. Amazing! Sublime doesn't do this.

Atom allows me to rearrange files in the left-nav. I can drag a file from one directory to another. Sublime doesn't do this.

Those two simple features alone are killer features for me. I don't see why Sublime doesn't copy them.

I understand Sublime has some cool multiple cursor stuff. My friend has definitely wowed me with a specific example before. I use vim motions inside Atom, which are great, and I'll occasionally open a file in native vim if I want to use more powerful features like recording macros.

Sublime's code-preview side-bar is semi-useful. It definitely looks pretty. I used an Atom plugin that emulated that behavior but ultimately disabled it to gain screen real estate. Also, long files with redundant code blocks (that looks oh-so pretty in that side bar) is bad code! Keep files short, gain screen real estate, and there you go! I swear, I worked with someone who used Sublime and he wrote the longest, most redundant code I've ever seen. I assumed he loved looking at the code in that preview side bar. I admit: the experience left a bad taste in my mouth.

Those are my reasons for using Atom over Sublime. Sorry I don't have enough experience with VSCode to answer your actual question!

VS Code has practically all of the features you mentioned from both Atom and Sublime Text 3.
I'm pretty sure VS Code's window management does not match up. For instance, VS code doesn't allow nested horizontal window panes inside vertical window panes, which is super useful for large displays.
Here is a relevant issue for that feature: https://github.com/Microsoft/vscode/issues/1749

edit: here is the best issue to vote on: https://github.com/Microsoft/vscode/issues/14909

I regularly use VS Code, and this is one of the few features that I don't miss much until I need it, and then I really, really wish it had support for it. This is definitely one of the major negatives for VS Code.
There's still a lot that people seem to love in Atom that VSC doesn't (yet?) offer. The issue/request list[1] offers a good glimpse of what's left.

[1] https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3...

Including a good Vim plugin? Last time I tried VS Code, that wasn't the case.
Hey I'm a developer for VSCodeVim (god I feel like a shill sometimes), and I'd love to hear about any issues you have with the plugin.

We've been fairly active developing the plugin, and we've closed a ton of issues and added a lot of new features over the last couple months.

More recently, we've added full Ex command support (through Neovim integration), and there's work underway to support some Vim plugins.

You can do multi-cursor stuff in Atom too. I rarely jump into vim for macros anymore, multi-cursor handles most things.
$70 is nothing compared with the performance that you get.

If you have a job (either as a freelancer or professional) you certainly should be able to afford to pay for a $70 license, if you cannot then maybe your problem is your salary. If you are a student, ask your parents for it. I have given away at least 8 single-user licenses to friends and fellow co-workers who had your mentality, and they are now happy SublimeText users.

The problem that I see with Atom IS NOT in the startup speed, which is something that many people complain about, obviously you can just open the program once in the morning and leave it running during the day... Oh wait! You cannot! Because the program is running on top of a full-feature web browser (and one of the most heavy ones) which means that during the day it will consume a significant amount of RAM. Do you want to listen to music while you write code? You got it! Atom will turn up your computer's fan for you so you can listen to the peaceful sound of air blowing at your CPU because the full-featured browser behind it is doing some crazy shit in the background.

I don't even care about the loading screen when you are opening large files, the major problem that I notice is keystroke lag, after the first hour or so I start to notice some lag between the input from my keyboard and the actual visual in the editor [1].

Some time ago I thought that GitHub would get tired about the criticism of their beloved project and deprecate it, but then they converted their Git client [2] into an Electron app. They are really invested into that technology. If I were one of their engineers I wouldn't mind to take a C++/Qt project alone just to be able to provide a resource-friendly program that people will love for its performance (as we do for SublimeText) more than for its plugin ecosystem and "beautiful" themes.

You know, the first thing that I do every time I need to install SublimeText into a new computer is to disable some settings, not because they are going to make the editor faster but because I really don't need them. But with Atom, I really-REALLY need to disable many built-in plugins because they are either tracking me or because they are genuinely slowing down the program (the GIT integration, for example). I configure SublimeText to my needs because I want to, I configure Atom to my needs because I need to.

[1] I am sure there will be someone in the replies saying that they don't notice any lag, they will even include the amount of RAM in their computer as if it was relevant (no, it is not, it's a code editor, it should be fast). The fact that it runs well in your computer doesn't means the problems don't exist.

[2] https://desktop.github.com/

> $70 is nothing compared with the performance that you get.

Maybe on a slow pc, but with Atom on my macbook pro I have no performance issues at all period. I code 8+ hours a day (for many years), and no my fan is not spinning all the time because of Atom. I have 16Gb ram, have multiple apps open at the same time, Chrome with 30+ tabs, listen music via youtube, etc..

I was a long time Sublime user, but the $70 they're asking is really way too much with so many great open source alternatives today. Would they at least divide the $70 to all the package writers that actually make Sublime a great editor I might be willing to spend it, but unfortunately they want all the money for themselves..

Switched to Atom a while ago, I gained (some really great) features and finally got rid of the trial pop-up.

Top of the line MacBook Pro, freshly installed with only Sublime Text and Atom side by side shows a very, very clear performance difference. I have a fetish for clean machines, so it's an "experiment" that repeats itself quite often for me.

Don't get me wrong - I use Atom quite often. However, stating that it does not jave performance issues is just wrong. Period.

Atom needs to do a metric fuckton more work (webengine, remember?) to move the cursor than Sublime, and thus it has severe keystroke lag. Whether you're okay with it or even notice is something entirely different.

It's not just $70, it's $70 for a closed source text editor when perfectly viable free, open source alternatives exist.

Even if I can afford something doesn't mean I'm going to pay for it without feeling like I'm getting ripped off.

Yes, Atom has its problems, but many of those don't exist in VSCode, Vim, Emacs, even SciTE, I'd advise considering more than 1 alternative option before spending that much.

For Haskell, Atom is near unusable. Input lag reaches double digit seconds, and crashes are frequent. Sublime is a tad better, but background processes for both are not managed well. Base editor vs editor, Sublime is the clear winner for general editing (not dependent on background processes/hooks) in terms of performance mainly due to io cycle time - mostly electrons' fault.

Vim and emacs are the solution most of my colleagues use, my experience with bindings in those editors is poor, but I'm switching slowly.

> I am sure there will be someone in the replies saying that they don't notice any lag, they will even include the amount of RAM in their computer as if it was relevant (no, it is not, it's a code editor, it should be fast). The fact that it runs well in your computer doesn't means the problems don't exist.

It actually does, for any user's rational purchasing decision: a problem that doesn't manifest, or does manifest without any cost, in their use case does not exist as a problem.

> $70 is nothing compared with the performance that you get.

Relative to the best free alternative for any particular use case, I'm not convinced that's generally the case.

"It's funny to catch friends looking at Sublime's payment popup window. I always joke, "oh, you're still evaluating?"

You sound like a really fun guy to know.

For me, also a VIM kind of guy, Atom lets me use VIM movement keys in the file/project pane which grants me total mouse freedom.

Another Atom bonus is that file additions, deletions and changes are flagged in the file/project pane.

> Atom lets me use VIM movement keys

Really!? That's neat, I didn't know that one. So it makes it modal, like you have to do 'i' to change to insert mode?

Movement keys, but what about editing? I frequently use 'y'ank and 'p'aste, 'C'hange/'c'hange un't'il.

Check out https://atom.io/packages/vim-mode-plus (fork of the deprecated vim-mode plugin) plus https://atom.io/packages/ex-mode or https://atom.io/packages/vim-mode-plus-ex-mode, if you want to use the `:` key.

These do a good job of providing VIM mode, but I just learned about the file/project pane vim mode. Will try that out latter.

You will have to do some config changes if you want the commands from other plugins to feel more natural in vim-mode.

---

Sidenote: I love vim, and use Atom for certain types of projects, but the vim-mode in Atom just never felt right, so I don't use it any more. Now that I know about some of the other neat things it can do, plus the ex-mode support, I might go back to using it again. The second I start using vim mode, I naturally start thinking I am in vim itself, and commands like `:wq` are muscle memory. Hate it when there is a commit message with `:wq` at the end, or I run the program and a crash occurs because of a rogue `:wq`.

There are a few vim extensions for vscode that are pretty good.
One of these days I'd like to write my own plugins. VS Code plugins (last I looked) aren't permitted to have a UI. Microsoft has neatly defined what kinds of plugins you may want to write (language support plugins and some others) and you can't go outside those lines.

I like how this protects VS Code performance, but if/when I decide to write my plugins I want the flexibility to augment the editor's UI.

Also, I think it's easier to write/tweak themes in Atom.

What's the actual difference? As far as I can see, they're both poor text editors with bad interfaces, built on top of the horrible mess that is Electron. They're also both massive. VS Code takes up 235 MB and Atom takes a whopping 530 MB. Sublime Text is like 30 MB.
>with bad interfaces

VS Code's interface is nearly identical to Sublime's, with some nice sugar in places that are helpful (optional GUI for keybindings and extensions).

For debugging and version control VS Code's interface OOTB is leaps and bounds above Sublime's.

>VS Code takes up 235 MB

Meh I have 16GB of RAM on my old computer. Or do you actually just mean HDD space? Who cares about 200MB in that regard?

VS Code's interface is a garbage Metro (or whatever Microsoft is calling it today) implementation with sidebar hell from Office.

>Who cares about 200MB in that regard? Who cares about anything? Just use everything you have. CPU, RAM, battery life and so on. These things are free for the developer.

Is VS Code actually seven times better and/or complex compared to Sublime Text that it actually needs to use the additional disk space.

Electron is garbage and just an exercise in providing a bad user experience to people for the sake of making front-end developers happy since they're the ones making them. The end result is bloated applications that are slow and use way too much system resources. VS Code used to use a significant portion (>10%) of the CPU just to draw a blinking cursor.

Electron is the reason you're getting these kind of desktop applications built in the first place, it's opened up an entire portal of developers to catering to your needs.

It may not be the ultimate solution to the problem with regards to things such as performance, but these are irrelevant if the application were to never be built in the alternative.

Cheers to that. Maybe now with Electron the developers at 1Password will give us a Linux port........
All vague overly general misrepresentations of the very specific points I made. I think the other "DAE Electron is bad?" comments can suffice without you adding.
> they're both poor text editors with bad interfaces

I can see why you might call them "poor text editors", probably based on real or perceived performance issues.

But I don't see why "bad interfaces"...

> What's the actual difference?

I believe Intellisense is VScode's best differentiator. It provides very good autocomplete.

I use VScode currently (for Python) but I'm not entirely satisfied with it.

How do you set up this very good autocomplete? The official Python plugin (by Don Jayamanne) seems kind of bad at autocomplete and related features. I get autocomplete that:

- Autocompletes random stuff because I pressed "enter" or "down"

- Tries to autocomplete comments

- If I tell it to autocomplete only on tab, then it will sometimes autocomplete and sometimes insert spaces; the faster I type, the more I get spaces

- Pops up enormous tooltips for function docstrings that are taller than my entire code window

Is the editor size an issue? For quick startup, sure, but when the tool is actually running? (Which at least on my machine, it's on most of the day anyway.)

I used to prefer lean editors (vim, Sublime), but then intellisense and plugins of VS Code won me over. That and git support and other niceties working out of the box.

> they're both poor text editors with bad interfaces

They're not poor editors. They're okay. And the interface is fine, I've actually grown to like Atom after having used it for a month. They are they're at least an order a magnitude bigger and slower than Sublime Text, yet pretty usable on a modern desktop computer. I've also used Sublime Text for three or four years on a daily basis.

it's funny to complain about absolute program size on the disk...
I use Vim on *nix, but on Windows I use Atom — I find the UI friendlier and more polished than VSCode, and I honestly don't notice any difference in typing latency between the two.

Vs Sublime, the plugin ecosystem is just so much better that it's not a real contest for me.

After having struggled a bit with using Vim in the Windows console (8 terminal colours, no bold or italic fonts and other weird unexplainable issues), I switched to GVim which does actually work remarkably well.

At least then you can bring the benefits you've spent time getting working in Linux into Windows.

As much as the purist in me wants to get it working in the DOS prompt especially with the Windows 10 improvements + Git SCM, I was wasting too much time.

FYI, if you're using Windows and enjoy terminal editors (I do!), I'd highly recommend switching terminal emulators from the default Windows console to wsltty[1] — assuming you're using WSL here. It has full xterm-256color support once you enable it in the Options menu, and fonts work just as you'd expect.

Personally I still use Atom on Windows, because WSL still has a few perf issues that make my preferred setup (zsh, tmux, Vim + a custom snowflake set of plugins) slightly more laggy than feels comfortable for me, although it does somewhat incredibly all actually work. But if your setup is different, there's a good chance that it'll run pretty snappily: I've noticed Bash + Vim is quite fast on Windows.

[1] https://github.com/mintty/wsltty

What prevent me of using atom is this issue: https://github.com/atom/atom/issues/2456
I use sshfs for some projects with vscode. Editing files and directory listing is pretty fast, but searching for files is extremely slow.
I started out with Atom even though it was slower than VSCode because of its richer plugin ecosystem, but these days VSCode has all the plugins I need so I've switched to it full time and haven't looked back and it's even mostly replaced local vim for me, which Atom never did because it was so slow.
Atom still has a richer plugin ecosystem.
As someone who switched from Atom to VSCode some time ago, I'm yet to find anything that VSCode doesn't have – are there any notable examples where Atom is ahead of the curve or is it just that it has more plugins?
I switched from Atom to VSCode a while ago, but I still miss a very good git extension (which I can't find now, sorry) which put timeline marks by change size in the bottom of the editor window to allow easily viewing diffs. The best regex railroad viewer extension I found was also much better than in VSCode. As well, VSCode seems to have some bad UI paradigms, for example, using Prettier, syntax fails pile up obnoxiously. I suspect all these differences are because Atom had better UI access for extension developers. I'd switch back to Atom but I found it had a few glitches and VSCode has stronger features such as debugging and code comprehension built in.
UI themes, and a much more cohesive default theme
Which theme? vscode has hundreds of themes, and most of them ported from sublime text or other editors. https://marketplace.visualstudio.com/search?target=VSCode&ca...
This is the best theme on VS Code I've found so far. Lovely. https://marketplace.visualstudio.com/items?itemName=azemoh.t...
This is the default Atom theme.
VS Code has full UI theming now. I've personally never used a default theme on any editor.
A theme is your main reason to pick an editor? Wow
dont know why you have been downvoted but, yeah if you are choosing your editor for a theme i can only LOL
Except when you need a debugger. VS Code has an built-in debugger with maintained plugins for major languages.

Atom has nothing in this regard.

I don't see any Mercurial plugins nearly as full featured as the one for vscode: https://marketplace.visualstudio.com/items?itemName=mrcrowl....

Also, does Atom show you repo changes in the scrollbar, or have a plugin for this? When I tried Atom awhile back it didn't have this, and vscode has it built-in.

As far as richness, I've found a matching plugin in vscode for every plugin I used in sublime text (about 10 plugins).

Because you are used to it? Why change if everything works. It takes some work to re-learn all keyboard shortcuts, for example.
There's a VS Code extension to implement all the Atom keyboard bindings
I went to VSCode from Notepad++ After a system format, I started off with sublime and haven't looked back. Although, I will most likely prefer VSCode when working where I cannot reach a sublime licence, since it's quite a hackable program... since it's running on an uncompiled language
It is funny trade that I like Atom's UX(e.g. layout, short keys, etc.) more than VSCode's, although performance is ok-ish (v1.17.2). Coming from Sublime, Atom is more familiar than VSCode. It's also funny that I wrote c++ before and Visual Studio is the best!
There is one guy building vim-mode-plus on atom and it feels way better than the vim plugin of vs code. Also, atom has seen pretty solid performance improvements recently. It now doesn't have much lag for me when I'm working with Elixir.
> any reason to use Atom over VSCode these days?

Probably no reason. Is anyone even using Atom anymore?

You can't highlight multiple files at a time in VScode. That brought me back to Atom. I never realized how much I use that feature until I switched to VScode for 6 months, I switched back to Atom a couple of weeks ago.
I'm using Atom now for Go and never really tried VSCode. What would be the reason to switch?
I find Atom for Go very slow. It feels sluggish, startup time is slow. Sometimes scrolling is lagging, it uses tons of memory (> 1GB to edit 3 text files...).

I switched to Sublime from Atom recently after about 2 years and I'm happy.

I usually look a small repos so I haven't had this problem so far. I'll see how it goes as I continue to use it, but the plugins (go-plus) have already made a huge difference so far :o
There is a Go plugin for Sublime too which is great.
Excellent debugging :)
i second your view. i like working with VSCode and only grab Sublime when I've to wrangle text files that are larger than 10MB.
How is the Clojure support on VSCode?