03 Nov 2015

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.

Update: Visual Studio Code won, and that’s what I use now.

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…