What’s new in GitHub’s Atom text editor

New version improves for packaging, Python, and HTML support, while the next version’s beta focuses on better developer support

Atom, the text editor developed by GitHub Atom and built on the Electron framework, has been upgraded with improvements centered on GitHub packaging as well as Python and HTML language capabilities. And a new beta is also on the way.

Where to download Atom

You can download Atom from the project website.

Next version: New features in Atom 1.26 beta

Capabilities planned for the Atom 1.26 beta, available in the Atom beta channel, include:

  • The GitHub package’s Git pane shows a list of recent commits to serve as a quick reference.
  • The Git authentication dialog features the Remember checkbox for storing a user name and password.
  • File system watchers now will fall back to polling if an OS is unable to watch for events.
  • An experimental file system has been added to cut resource consumption and be more scalable when looking at many directories.
  • When coding with the Teletype workspace-sharing capability, developers can use the Fuzzy Finder feature to quickly open a file shared by the host.

Current version: What’s new in GitHub 1.25

Released to the “hackable” editor’s stable channel on March 15, 2018, here are the improvements in the latest version:

  • The editor’s GitHub package allows developers to stage and view changes involving both the file mode and symbolic links.
  • A new configuration setting controls whether commit messages composed within the mini editor are hard-wrapped to 72 columns.
  • Messages composed in a full-pane editor are preserved as they are.
  • The GitHub package’s diff mode no longer resets its scrolling position when a user does not want it do so.
  • When editing Python source, the tokenizer backs async functions, binary strings, function annotations, f-strings, and string formatting. For HTML documents, Atom 1.25 style attributes now are tokenized as CSS.
  • For syntax highlighting and code-folding, an incremental parsing system, called tree-sitter, is available in beta form. Tree-sitter is a C library used via bindings to higher-level languages. Tree-sitter currently is disabled by default but can be turned on via the User Tree Sitter Parsers setting.

In progress: Atom is becoming a full-fledged IDE

Atom is being fitted with IDE-like capabilities as a precursor to making the editor a full-fledged IDE.

The first step in Atom’s transition from text editor to IDE is an optional package of features developed with Facebook called Atom-IDE, released in September 2017.

The package includes:

  • smarter context-aware auto-completion
  • an outline view
  • go to definition
  • ability to find all references
  • hover-to-reveal information
  • warnings (diagnostics)
  • document formatting

The initial release has packages for TypeScript, Flow, JavaScript, C#, and PHP. These packages use language servers to analyze code and projects. GitHub thus joins other companies such as Microsoft and Red Hat that have supported the language server protocol. Support is likely later for Rust, Go, and Python.

GitHub says that, if a language server exists for a language, it is easy for developers to create their own Atom-IDE package that takes advantage of it by using the Atom language client NPM library. This provides common automatic wire-up to major features as well as helper tools such as downloading support files and conversions.

To get started with Atom-IDE, developers have to bring up Atom’s Install package dialog, then search for and install the atom-ide-ui package to activate the IDE user interface and install needed language support, such as ide-typescript , ide-flowtype,  ide-csharp,  ide-java, and ide-php.

Features added in previous versions

Atom 1.20

To improve Git integration in version 1.20, diff views have been reworked to provide pending pane support and multiple simultaneous views. In addition, users are now able to compose commit messages in the main editor—“for those not into the whole brevity thing,” according to the documentation.

Atom 1.20 also features fixes for PHP grammar. To improve find and replace capabilities, context lines in the 1.20 release are optionally displayed with “Find in Project” results. Users can set the number of available lines before and after matches in the package settings and can modify the display inline when viewing results.

Atom 1.19

In the Atom 1.19 release, a native C++ text buffer boosts responsiveness and memory usage. Saving a file happens asynchronously without blocking the UI. Also, large files now consume less memory.

Copyright © 2018 IDG Communications, Inc.

How to choose a low-code development platform