Editor’s note: This entry is archived. The recommended editor/IDE is Visualstudio Code
Atom is a modern text editor built on web technologies that can be extended to a full-blown IDE. Atom is being developed since 2014 by the code hosting service Github, which soon put its “hackable text editor for the 21st Century” under an open source license. Atom uses the Electron framework to display the user interface programmed in Node.js, while time-critical components were created in C++ or Rust to prevent performance bottlenecks, for example when dealing with large files.
The advantage of a “hackable” editor is, that nearly everything is configurable and extensible. Packages an themes can be searched and installed directly inside Atom’s preferences. You can even blow up the editor to an IDE thanks to the atom-ide-ui package supported by Facebook developers. At the autumn of 2018, there were more than 8,000 packages and 2,750 themes available.
Atom is not included in the official repositories of Ubuntu. However, .deb and Snap packages are available. Once Atom is installed, it uses a build-on update mechanism.
The Atom developers offer their own repository at PackageCloud containing not only .deb packages but also RPMs; they provide a simple script to install the package source and the program itself:
curl -s https://packagecloud.io/install/repositories/AtomEditor/atom/script.deb.sh | sudo bash
Since 2017 Atom is also delivered through Canonical’s Snap-Store:
sudo snap install --classic atom
Configuring and extending Atom
Once installed, Atom can be configured, extended and updated at Edit > Preferences, which opens the settings page. To start, you may change the dark theme if you want to light-up your work; install the i18n package to make Atom a cosmopolitan; or install support for your favorite programming language.
To use Atom as an IDE, first install the package atom-ide-ui, than add the programming language of your choice by installing a special language server package – for example ide-php for the scirpting language PHP.
If you mouse-over variable, function or class names in your code, Atom shows their documentation in a “Datatip”. Other IDEs offer to jump to the declaration when using a certain key combination – even if another file has to be opened due to the modulary structure of an application. Atom does not have this functionality build in. However, it may be retrofitted thanks to the Hyperclick package, so that CTRL-clicking a name navigates you to the declaration.
It is notable that the functionality of Atom depends highly on the environment of the used programming language. In order to use Hyperclick, you have might have to install another package adapted to this programming language.
Atom has an online documentation, which is also accessible from within the program’s help menu.