This post is absolutely biased and is reflecting 100% of my own opinion on text editors.
When it comes to gearing up for coding there's one choice you should make consciously and carefully and that's your text editor.
An important choice
Your text editor will have a tremendous impact on:
- Your workflow.
- The languages you work on.
- Your programming style (indenting, syntax, preprocessing, spaces, comments, etc.).
- Your productivity.
So it should not be picked lightly and you should even re-consider your choice every once in a while. You're not married to your text editor (sorry Brackets 💔, you made me very happy for a while but I needed some new perspective on things and your syntax highlighting is crap) and you don't have to always work around a missing feature or a crappy CPU usage (you know I'm talking about you Atom).
So in order to make that list up, I considered the following factors for each editor:
- Performance. How fast is it?
- Stability. Can it handle large repos without crashing?
- Footprint. How heavy the program is on your hard-drive, on your RAM too?
- Built-in features. What comes pre-installed/out-of-the-box?
- Customization. How many plugins/themes/packages are available?
- Active community. Is there an active community of users/programmers feeding the beast? How often does it get updated?
That's pretty much it.
Again, this post reflects my opinion, so I don't expect everyone to agree.
For each editor, I made:
- A list of 'Pros'
- A list of 'Cons'
- My own personal verdict.
Here we go!
- It’s free!
- Very active community or users and lots of resources/tutorials on Github/Medium, etc.
- Lots of themes and plugins.
- Hackable from top to bottom.
- The file-tree-view is really nice and perhaps the best one across all editors.
- The package-installer is really neat and easy-to-use.
- Best looking one (subjective obviously).
- Lots of support from Github crew since they own the thing.
- Best Git integration (obviously)
- Fuzzy Finder is nice and should be the norm.
- Takes some time to get the right setup.
- Has some issues handling large
repos/folders and CPU usage can go pretty high. It’s a browser-based app (runs on Electron), and is a bit slow to load and sometimes to respond.
- Project manager possibilities are a bit
limited butplugins can fix that Hackablefrom top to bottom.
- Most of the core is written in
CoffeeScript, but the Github team is transitioning to ES6.
- Has issues handling very large files.
- Strange syntax management sometimes, you get a different color for your variable name depending on what you typed before (
const, let, varetc.)
Although it comes packed with great features and an overall neat layout, Atom is still having lots of difficulties handling large files and keeping a low CPU usage. It’s overall rather slow and unstable (you will notice that if you’re working all day long on your text editor)
The speed/performance factor is really something that comes across most reviews of Atom out there sadly
I guess the perfect editor would be Atom without any of its flaws but it’s not quite there yet.
- Very lightweight.
- Outperforms Atom and Brackets.
- 70$ is a lot of money for a text editor. Especially when the other players in the market are free.
- As with Atom, you will need to install a handful of plugins before you can benefit from ST’s full potential.
- Git integration is somehow a bit shallow compared to other editors.
My verdict on Sublime Text
Obviously, Sublime Text is a reference out there and the editor that has the most mileage under its belt. Is that the reason why it's so stable, maybe.
Is that worth $70? Certainly not.
- Free too!
- Built-in live browser preview. When you move the cursor inside an HTML element inside the editor, it will then also be highlighted in the browser. Neat!
- Takes about half the size of Atom.
- Code completion out of the box.
- The split window mode is really easy to use and intuitive.
- Quick editing - When you mark any HTML element and press Cmd/Ctrl + E, Brackets opens all CSS associated with this element inline in the current window. From here, you can make any edits you need. Once you close it, any changes will automatically be applied to the stylesheet connected with this element. Nice!
- Needs plugins and packages to really be complete
- Supports only web languages out of the box
- Some basic features are missing such as indentation guides, automatic matching tags editing.
- Can also be slow at times but no big deal (especially compared to Atom)
- Not as actively updated as Atom
- Smaller community than Atom / fewer extension/plugins.
My verdict on Brackets
Brackets is the editor I started with when I first learned web development so I might not be completely objective here ❤️
It’s a really nice text editor, more reliable than Atom in my opinion but less hackable. I would use it over Atom just for the Quick Editing and Live Preview that are great. This is something missing in VS Code, a reliable 'live preview' with hot reload just like Brackets can do natively.
- Great Git integration right out of the box.
- Breakpoints debugger built-in.
- Microsoft? 🤔
- It doesn't have the polished interface of Atom.
- The Navigation system is a bit odd compared to the other 3.
My verdict on VS Code
I must say that as the full-on Microsoft-hater that I am, I overlooked VS Code for a looooong time. I must say that I was wrong (I hate to admit it though) and what MS accomplished here is rather nice.
How come it’s the same people who created the worst web browser(s) and the best text editor? I leave you with that question unanswered.
VS Code is fast, reliable and gaining huge momentum this year, moving to the top front-end developement environment according to 2017 Stack Overflow survey.
Vim is a bit too “raw” for me. Vim is like a salad without dressing. You know it’s healthy, and you know you don’t really need more, but you just want more.
Except maybe Vim that’s a bit too extreme in its philosophy and that requires too much commitment in terms of workflow, you should definitely give each one a try.
It hurts my feeling to say
Well, that's about it for now. Let me know what you think down below or drop me an email at email@example.com :)
I found the following link on Quora and though I would inject a bit of "factuality" into my biased post :D
You can find the entire discussion here.