There is no shortage of code editors, from Emacs to Vim, Sublime, VSCode, and Atom. Atom is relatively young, first released into beta in 2015. It dubs itself a hackable text editor for the 21st Century and is, according to its developers, an improvement on lessons learned from older text editors and IDEs.
Atom is elegant, extensible, and a pleasure to use. But like most text editors, to really get the best out of it, you will need to install some plugins (called packages in Atom).
What is Atom?
As mentioned above, Atom is a hackable text editor made for the 21st Century. That tagline may not seem like much, but it says it all. Older text editors fall broadly into one of two categories. Inflexible and approachable editors such as Sublime and TextMate. And very flexible but unapproachable editors such as Emacs and Vim. Atom attempts to be approachable with a convenient and modern UI (for the 21st Century) without compromising extensibility and flexibility (hackable).
Atom is also free and open-source, which will allow the community to grow around it and help it advance to where it needs to go. As such, Atom already has an impressive array of features that make it a great tool right out of the box.
Because it is built on top of Chromium, Atom runs on all operating systems. It has a built-in package manager to allow easy installation of packages (plugins). It also has some collaboration features such as git and GitHub integration. The GitHub integration is exceptionally well designed, as the workflow allows you to create a Git repository from inside Atom without any need for typed commands.
And perhaps most importantly, for new users accustomed to language-specific IDEs, Atom has a basic built-in auto-completion. This feature makes the first few lines of code far easier to digest, and you’ll feel right at home even if you’re used to a full-featured IDE.
Why you need packages in Atom
Atom has many features out-of-the-box, but it aims to be hackable, extensible, and customizable. While you will have a good experience using Atom as is, you can get a lot more out of it by installing packages.
Many of the packages do things you don’t need or don’t fit your workflow, so you may not want to install all of them. But a good selection of packages can increase your productivity and make a lot of processes smoother.
Installing and uninstalling packages is a simple process, so nothing stops you from trying out a package to see if you like it. If you’re unsure if a package will be helpful for you, try it out!
How to install packages in Atom
There are two ways to install packages in Atom.
You could use CLI, which is straightforward and similar to package installation in much other software. Type the following in your preferred terminal, and the package installer will take care of the rest.
apm install <package_name>
Alternatively, you can use the user interface to install packages. Open the settings view by either clicking Ctrl + , (comma) or go to File -> Settings. Then change to the Install tab.
Next, use the search bar to find the package you wish to install and click install.
Top 21 Atom packages for 2021
To help you get situated in a new environment, we’ve picked out the top packages of 2021. There are many other packages out there, but this list will give you a good entry point and a good overview of what is available.
Build is a package that enables build processes to be run by command from within Atom. There is a long list of build providers available such as Java, C++, Ruby, and AppleScript. But if the included providers don’t meet your needs, you can define your own using JSON, CSON, YAML, or JS.
Atom comes with an auto-complete feature, but it isn’t very smart. With Tabnine’s all-language auto-complete, you will find you have to click the down arrow on the dropdown a lot less, as its AI-backed algorithm does much more than provide all relevant options.
In most cases, it will correctly predict what you need to type next. Less time looking through dropdowns for what you meant to type means more time coding. Try it out and see if it can accurately guess what you want to type.
Minimap shows your file structure to the side of the editor. This addition makes the file structure easily digestible and allows scrolling to the location you’re looking for easier. Particularly useful if you tend to work on large files.
A code linter is a static code analysis tool that provides immediate feedback about errors in your code without needing to run a build. You’ll also need to install language support for any language you use. Among the long list of supported languages are Java, C++, HTML, JSON, and Kubernetes.
Linter UI Default adds some UI functionality to your linter, making it more user-friendly.
Atom Beautify provides a quick and easy way to format your code. It changes spacing and structure to conform to code formatting standards.
TeleType allows multiple authors to simultaneously edit a file, much like how editing works in Google Docs, but with a code editor. This is a feature that Atom advertises on its front page and is a big selling point for Atom.
While Atom comes with built-in Git integration, it has its limitations. Sometimes you’ll need to do some more complex commands, and for that, you’d need to open a terminal window. Unless you have Git-plus installed, then you can do it from within Atom.
A text highlighter that makes it easier to find all instances of the exact text. Basic, but saves time using Ctrl+F.
File Icons is a simple icons package to help with the readability of the file tree.
This neat little package paints constant variables in colors based on their value. It helps when using hexadecimal colors that might not be readable otherwise. Do still use descriptive variable names, though!
While the pigments package helps you read colors after the fact, Color picker makes it easy to add color constants to your code quickly.
Atom’s default behavior is only to show recent projects. This package adds a file/folder history.
If you’re going to be editing HTML, this package will save you a lot of typing by automatically closing any tags you open.
Git Plus is excellent for git-specific commands, but there are other uses for a terminal. Terminal Plus is a quick way to access a terminal window from within Atom.
Jumpy is an acquired taste. It lets you jump around your code using keyboard shortcuts. This may or may not come naturally. But with practice, you could get a lot out of this tool.
Pretty JSON helps you format your JSON to be cleaner and easier to read. It can save you a lot of time adding correct spacing to your files.
Blame adds in-line git blame to your code. If you work in a big team, this addition can save you a lot of time finding who made the changes to get information from them.
If you work on multiple projects in Atom, a package to help manage those projects would be a boon.
Some people like having a lot of tabs open. Personally, that stresses me out. ZenTabs keeps the tab count below a maximum, closing the oldest tab first.
And lastly, if you went through the trouble of installing several packages, it will become time-consuming to keep them all up to date manually. Auto-Update will routinely check to see if there are any updates to your packages.
There are a lot of Atom packages to choose from. Some may make your work easier, while some might be in your way. It is best to pick and choose your packages to enhance what you need most. Our list, however, should be a good place for you to start.