Objective

The original objective of the Facebook Nuclide / Atom-IDE project has been to provide extension packages for the Atom Editor to interact with custom Language Servers via the Language Server Protocol to enable IDE like functionality in our beloved editor.

The original package was made of various “subpackages” that provide the overall functionality and were always build and released in a monolithic extension (aka atom-ide-ui).

The objective of this project is to take over the concepts and ideas in the original atom-ide-ui package, but provide individual extensions that can be developed, released and installed independently.

We will start with the most important features, and iterate on them quickly to come on par with the functionality available in the atom-ide-ui package.

Getting Started

So far, there have been a few features from the original atom-ide-ui package that have been created as individual packages. Here are the steps required to start using IDE features in your Atom Text Editor using the new community packages.

  1. Install an IDE language package that you would like to use:

IMPORTANT: When you are asked if you want to install the atom-ide-ui dependency by one of those packages, you usually can deny doing so

HINT: some of these packages also require you to install additional tools on your computer, such as the ide-rust package requires a current rls toolchain, or python the python-language-server package. Please check the installation instruction of the ide-packages for more details on the requiremens.

  1. Install the Busy-Signal package that is uses by some of the existing ide-packages to show running background tasks

  2. Install any of the community packages listed below.

  3. Enjoy!

Atom IDE Community Packages

AutoComplete

Once you have installed an IDE language package, this should work right away.

Data Tip

A replacement of the DataTip functionality from atom-ide-ui. When you hover over a symbol in your code (or move your cursor to it), it can show you details about that symbol in a tool tip. More details

Signature Help

A replacement of the signature help functionality from atom-ide-ui. When you’re calling a function, it can help you understand the parameters or information about the function you’re calling. More details

Go to Definition

A replacement of the go to definition functionality from atom-ide-ui. More details

Linter / Linter-UI

There is an existing linter and linter-ui that is known to work with the existing ide-packages. It can be configured to only show linting errors per file, or for the whole project in its settings.

Roadmap

We have published our current roadmap on Github for you to check and provide feedback to us.