Recs.
Updated
Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
SpecsUpdate
Pros
Pro Lots of packages
Atom has a built-in package manager and an extensive list of packages. Packages are written in CoffeeScript.
Pro Extendable
Due to its modular design, almost any aspect of the editor can be changed. Even seemingly core packages, like the one's taking care of search and replace functionality, can be forked on GitHub, changed and replaced in the editor. The documentation for creating new plug-ins is in depth and thus it's easier for developers to jump in and create plug-ins for Atom.
Pro Multi-line select and edit
Multiple cursors and column selection allow for versatile ways of editing.ctrl + d
will select the current word and each time the command is repeated, it will add the next occurrence of the word to the selection.ctrl + click
or middle-mouse click
will place another cursor in the place that's clicked. Cursors can then be controlled together. This also permits selecting vertically.
Pro Command line integration out of the box
Installing Atom adds two command line commands - atom and apm. The first one runs the application itself and the second one is the Atom Package Manager that's used to add and remove various components from the package listing. While these features can be set up with other editors as well, Atom takes care of them out of the box.
Pro Beginner friendly
One of the goals of Atom is to be a text editor for both experienced and beginner programmers. You can add keyboard shortcuts, change themes, install plug-ins, and change core settings by clicking through a GUI, or by manually editing config files the old-fashioned way. Atom also has the added advantage of being built using the same engine that powers Google Chrome, so actions like opening and closing tabs feel familiar even to new or non-programmers.
Pro No need to restart Atom after a new plug-in install
You don't have to restart Atom after you install a new plug-in in order to activate it as the plug-in will automatically start working. However, you will have to restart Atom each time you update any of your packages.
Cons
Con Relatively slow
Atom is not a native application. As such, performance is sub-par and the lag is especially noticeable on larger projects. It also opens a surprising amount of sub-processes and leaks a considerable amount of memory.
Con Unable to handle large files
Atom is unable to handle files greater than 2 MB in size.
Con Uncertain future
Atom is being officially discontinued. On December 15 of 2022, the repositories will be archived; presumably, this is when any official development or contribution will cease. Although community maintained forks might appear, this makes the long term viability of using Atom somewhat unclear.
Con Bad autocompletion support
There are plugins (and even a atom-ide) out there, but they are far away from the intellisense features of VSCode or Webstorm.
Con Missing additional touches
As Atom is still relatively new, it's missing nice little touches that other text editors have implemented over the years. From simple ease-of-use items like middle-mouse button multi-cursor select, to the ways pasted information from a spreadsheet is interpreted in multi-select situations.
Con No drag and drop of code out of the box
Atom does not support a drag and drop feature for code out of the box. However, it is available as a third party plug-in.
Recommendations
Comments
Flagged Pros + Cons
Con Slow
Atom is not a native application. As such performance is subpar and the lag is especially noticeable on larger projects. It also opens a surprising amount of sub-processes and leaks a considerable amount of memory.
Con Too green
By default Atom has no idea about what a .js file is. No intellisense, no goto definition, etc. You need external plugins.
Pro Allows for instant file switching
By pressing Ctrl or Command + T and using fuzzy search, you can look for a file in your project.
Pro Command Palette support
The Command Palette permits fuzzy searching all available functions, settings, snippets, etc.
Pro Extensive list of packages
Atom has a built-in package manager and an extensive list of packages. Packages are written in CoffeeScript.
Out of Date Pros + Cons
Con Missing polish
As Atom is still relatively new, it's missing nice little touches that other text editors have implemented over the years. From simple ease-of-use things like middle-mouse-button/multi-cursor select to the ways pasted information from a spreadsheet is interpreted in multi-select situations.