Using the Atom Editor with Scala

If the IDE or editor you’re using for Scala isn’t working for you, or you want a change of scenery, try another tool. It’s easy to switch. This post looks at Atom.

Inside Underscore there’s a mix of developer tools. Emacs, vim, Sublime Text, Eclipse, and IDEA all get used. I use Atom.

Atom is GitHub’s “hackable text editor for the 21st century”. The appeal for me is:

  • a good text editor that feels like Sublime Text;
  • open source, cross platform, and yes, hackable with web technologies;
  • good selection of plugins; and
  • the start of Scala type inspection, code completion, and click-to-source code navigation via Ensime.

It’s not perfect:

  • it’s not as fast as Sublime, but it is open source;
  • it doesn’t have the proven track record of vim or Emacs, but is perhaps less intimidating; and
  • the Scala support is not as rich as Eclipse or IDEA, but I don’t sit around wondering what the IDE is doing.

And if the Scala support bugs me, I can turn it off but I still have the same editor.

What’s it like?

I mainly work on a project using the trinity of: an editor window, ~compile in a terminal, and having the documentation open. But I find I’m also turning on the Ensime support from time to time. It’s useful when exploring code I’m not familiar with.

Viktor Hedefalk is developing the plugin for Atom. I use it for finding the type of a value, and for clicking through to source. It can do more, but that’s what I use.

Rather than describe it, let me show you what it’s like:

So not perfect, but it’s the editor I prefer.

If you’re interested in getting involved with Atom and Scala support…

Like what you're reading?

Join our newsletter

Looking for a Scala job?

Job Listings


We encourage discussion of our blog posts on our Gitter channel. Please review our Community Guidelines before posting there. We encourage discussion in good faith, but do not allow combative, exclusionary, or harassing behaviour. If you have any questions, contact us!