Visual Studio Code vs. Atom: How they stack up

The open-source, ultra-configurable code editors from Microsoft and GitHub have a lot in common. Here are the big differences you need to know

If you’re a fan of Microsoft Visual Studio Code—and it seems more people are every day—it’s because the popular code editor offers a heap of appealing features. It’s endlessly customizable, highly consistent across platforms, and progressing at a rapid clip with monthly updates.

But Visual Studio Code is hardly the only popular code editor out there. In fact, the market is filled with highly customizable editing apps, not least of which is “hackable” Atom, a tool developed by GitHub that commands a faithful following of users. Both Visual Studio Code and Atom are built with similar components, mainly the Electron system for building desktop applications with web technologies.

Trying to decide between Visual Studio Code and Atom? Here are some of the key differences.

Visual Studio Code vs. Atom: Origins and development

Visual Studio Code and Atom have much in common. Both were built using GitHub’s Electron framework for writing desktop apps using JavaScript and HTML and deploying them with the Node.js runtime. Atom began development at GitHub, debuting in 2014, while Visual Studio Code originated at Microsoft, appearing in 2015. And then Microsoft purchased GitHub in 2018.

Now that both Electron-based code editors belong to Microsoft, should we expect Atom to be deprecated over time? The short answer is “not yet, at least.” Development on Atom has continued apace by the same team, with new versions appearing regularly since the GitHub sale. And so far, Atom’s development track hasn’t been explicitly guided by Microsoft, making it a possible alternative for those who aren’t fond of Visual Studio Code’s more direct links to Redmond (e.g., silently sending usage telemetry).

vscode atom editors IDG

Both Visual Studio Code and Atom use the Electron desktop application system, but each has different philosophies for which components are included by default and in what form.

Whether fallout from the Microsoft acquisition or not, Facebook’s retiring its Nuclide project in late 2018 was definitely a blow to Atom. Nuclide was an open source extension for Atom that provided a suite of IDE-like facilities for developing projects using React Native, Hack, and Flow. On the plus side, parts of Nuclide are enjoying a second life in other editors—including, you guessed it, Visual Studio Code. (Note that third parties have also developed a “de-Microsofted” version of Visual Studio Code, VSCodium, free of Microsoft branding, telemetry, and licensing.)

Visual Studio Code vs. Atom: Customization and extensibility

Both Atom and Visual Studio Code are designed to be customizable and extensible via third-party add-on packages. In this respect they’re about even. Both have large and well-organized indexes of extensions and themes. Both allow you to search, install, and manage add-ons directly inside the program itself. One minor difference is themes. In Visual Studio Code, themes are considered an extension like any other. In Atom, themes are a different class of extension, managed in their own distinct part of the UI.

Another area where Atom differs is its hackability. Atom’s online documentation has an entire section named, bluntly enough, Hacking Atom, which walks the prospective Atom hacker through many common customizations. Visual Studio Code has a guide to creating extensions, but nothing like the top-down hacker’s tour Atom provides.

Visual Studio Code vs. Atom: Plug-ins and integration

Atom was designed to be highly hackable and user-configurable. To that end, many of Atom’s core functions are provided as plug-ins. A default roster of plug-ins provided out of the box includes Git/GitHub integration and editing functions like working with whitespace and tabs.

Visual Studio Code, by contrast, builds more functionality directly in. For instance, some Git integration is available out of the box in Visual Studio Code as a native part of the editor. However, Visual Studio Code’s native functionality can be extended or eclipsed with plug-ins. In fact, because Visual Studio Code’s native Git integration is minimal, you’ll need one of the third-party Git extensions like GitLens for more serious work.

vscode atom packages IDG

With Visual Studio Code, the directory of extensions includes themes as well as language support and other tools. Atom keeps themes distinct from extensions that add language support or that modify the editor’s other behaviors.

Visual Studio Code vs. Atom: Usage and market share

Ever since it first appeared, Visual Studio Code has eaten away at the marketshare of many other editors, Atom included. According to Triplebyte, by the end of 2018 Visual Studio Code was used by 22% of the candidate developers it interviewed over the course of the year; Atom, 6%. Those numbers had grown from around 5% and 11%, respectively, in 2017.

Don’t take this as gospel that Atom is on its way out, though. Atom’s design, development process, and feature mix appeal to an audience all its own. But the rise of Visual Studio Code isn’t due to Microsoft’s backing alone—it’s because Visual Studio Code is a genuinely powerful, flexible, and useful tool.

Copyright © 2019 IDG Communications, Inc.