Atom 1.18 released(blog.atom.io) |
Atom 1.18 released(blog.atom.io) |
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.
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.
I'm also the vim kind tho, but when I browse large datasets and dumps I use Sublime.
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!
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.
You sound like a really fun guy to know.
Another Atom bonus is that file additions, deletions and changes are flagged in the file/project pane.
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.
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.
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?
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"...
I believe Intellisense is VScode's best differentiator. It provides very good autocomplete.
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 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.
Vs Sublime, the plugin ecosystem is just so much better that it's not a real contest for me.
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.
Atom has nothing in this regard.
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).
Probably no reason. Is anyone even using Atom anymore?
I switched to Sublime from Atom recently after about 2 years and I'm happy.
This page quantifies it. https://github.com/jhallen/joes-sandbox/tree/master/editor-p...
I don't so much care about memory consumption. It can be 5 to 10 times as much as Sublime... I am RAM to spare. What I do care about is that a lot of these tests are 20 times SLOWER than Sublime (which can already be considered a heavy-weight editor)
I was trying to get Solarized Markdown highlighting working.
Edit: I lie, it was Twilight [0]
I just wanted to get that working with Markdown - but there are just so many limitations with the syntax highlighting system and I was always making tradoffs.
I switched to Sublime (cross platform, prettier, more performant, fuzzy finding, better highlighting, better shortcuts, better plugins - but closed source) and then to Vim (cross platform + ssh, open source, PITA to learn but gains from the more programmable way of editing, the potential to match or better most aspects of ST)
[0]: https://github.com/ianchanning/Notepad---Markdown-Highlighti...
[1]: https://stackoverflow.com/questions/29953479/multiple-cursor... [2]: https://atom.io/packages/multi-cursor
Loving the hydrogen plugin to evaluate lines or js expressions inside the editor. https://atom.io/packages/hydrogen
FYI you can do the same with the jupyter VSCode extension [1]
[1] https://marketplace.visualstudio.com/items?itemName=donjayam...
PS: There are a few differences in the way they work, but I posted this to give pointers for people who may want such extensions in VSCode.
https://github.com/atom/encoding-selector/issues/18
I've bitten by this before when doing Unity coding. I no longer do much of Unity dev, but I deal things where this makes big difference and I haven't given serious try on Atom because of this. (I use VSCode which handles this correctly.)
[1] https://josephg.com/blog/electron-is-flash-for-the-desktop/
Sublime (or really any competently-designed native editor) does indeed use way less memory for any text-editing task than any Electron-based app. But memory is fast. VS Code shows that an Electron-based app can exhibit performance basically equivalent to a native app at most tasks (other than opening that initial window, where it's still an order of magnitude slower).
So I think the performance problem with Atom is more Atom than Electron.
(Still, though, if you only have 16GB RAM, you probably don't want to use more than 4 Electron-based apps.)
But, I do agree about Electron. Worst thing ever for desktop apps. When I look at my process manager, I wanna cry when I see 10+ apps taking 500+ MB each when native one would take like 30MB.
Vscode is comparatively young but it might already have the broadest support for things like semantic completion/go to source/step debugging and being written in electron might have played a part in that.
That said, I am not 100% sold on it yet. The killer feature of Atom.io for me is that it is cross-platform. For most developers that shouldn't matter but have been working on some platform-agnostic web development tutorials and for that use case, there really isn't any valid alternative.
[0]: https://marketplace.visualstudio.com/items?itemName=webfreak...
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`.
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.
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.
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.
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.
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.
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.
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.
Relative to the best free alternative for any particular use case, I'm not convinced that's generally the case.
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
VS Code chokes pretty horribly on 'large' files and is really slow to load. It also has noticeable typing latency vis a vis Sublime.
My comment wasn't intended to advocate for inefficient software based on web browser cores; I was just trying to note that most of Atom's abysmal performance issues seem to be more Atom's fault than Electron's, since VSCode is so much better.
Sublime, and any competently-designed native text editor, will always be faster than one based on Electron. Still, I leave both editors (and a few others) open throughout my workday.
>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.
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.
edit: here is the best issue to vote on: https://github.com/Microsoft/vscode/issues/14909
[1] https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3...
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.