Top 5 IDEs and text editors for Scala
Scala may have started off as an alternative for Java, but it’s developed into a popular programming language in its own right. This week, we take a look at some of our favorite IDEs and text editors for Scala.
In the past year, Scala has made an impressive ascent up the TIOBE Index and even cracked the top twenty. It’s no surprise why developers have been flocking to Scala: it’s a useful substitute for Java and can be run in parallel with Java on the JVM.
Scala has been fairly stable over the past few years. It’s a suitable functional programming language for beginners to try out. Recent news about the 2.13 updates and the future Dotty releases has definitely gathered more interest among developers.
As always, this list is a matter of personal preference. We can’t cover every IDE and text editor out there. However, if we’ve forgotten your absolute favorite IDE for Scala, let us know in the comments below!
Here are our top 5 IDEs and text editors for Scala!
Of course there is a Scala extension for Eclipse. Why wouldn’t there be? This Scala IDE provides dedicated support for developing pure Scala and mixed applications. Scala IDE 3.0 offers a whole host of tools and features for developers, along with a few notable bug fixes.
The advanced editing tools include code completion, implicit and semantic highlighting, and an all new indent guide. There’s a shiny Scala debugger to make your lives easier, along with a reliable Junit test finder and an asynchronous debugger.
More information about Scala IDE can be found here. Scala IDE is Open Source and available under the Scala License.
This one is something of a twofer. Emacs and Atom are both text editors with excellent support for Scala, but today we’re focusing on the underlying tech that makes this possible – ENSIME. ENSIME is a libre software designed to brings Scala and Java IDE-like features to your favorite text editor.
ENSIME is not precisely a text editor or IDE. In order to make use of it, you need a build tool, an
.ensime file, and a text editor. The build tool downloads the
ensime-server and the text editor launches it. While this is slightly more involved than most IDEs, the benefits are impressive.
ENSIME supports contextual completion and semantic highlighting with implicit expansions. Developers can jump to source code or the documentation with ease. ENSIME shows inferred types, supports refactorings, and most importantly, red squiggly lines appear in your code to highlight errors and warnings.
More information about ENSIME can be found here. ENSIME is a free software that relies on donations and sponsorship from developers like you.
In addition to the host of features, IntelliJ IDEA offers Scala-specific support in testing with ScalaTest. This lets developers perform unit testing with ease. Other features include smart completion, language injection, an editor-centric environment, and lots of useful build tools.
More information about IntelliJ IDEA is available here. While IntelliJ IDEA Ultimate requires purchase and a yearly subscription, the Community version is open source.
SEE ALSO: A quick tour of build tools in Scala
NetBeans IDE allows developers to quickly and easily develop desktop, mobile and web applications. Thanks to its many features for editing, analyzing, and converting, NetBeans IDE makes things easier for developers. The project management tool alone is worth taking a look.
The Scala plugin for NetBeans features a full Scala editor, complete with syntax and semantic coloring, an outline navigator, code completion, and more. There’s also a debugger, an interactive console, and integration with Junit and Maven.
More information about the Scala plugin for NetBeans can be found here. NetBeans is free, open source, and moving to Apache.
The grand old dame for any developer, Vim is a text editor for developers who really, really want to customize their own experience. In fact, this is sometimes the main complaint about Vim: developers have to install a lot of plugins in order to really get the environment they want. That said, Vim’s got a number of Scala plugins to make it work.
Vim-scala is a good baseline plugin to have to manage the syntax. A popular code completion plugin is deoplete.nvim, a dark powered asynchronous completion framework. fzf is an independent command line program for Vim that handles things like Jump to File and Jump to Definition. Using all three of these plugins together can make the Scala experience really work in Vim.
More information about Vim can be found here. Vim is open source.
SEE ALSO: How well do you know your Scala trivia?
Other options for Scala include Visual Studio Code, from Microsoft. VS Code has extensions for dozens of languages, including Scala, for a refined editing experience. Developers can also try out Sublime Text, a free alternative that has a number of features for code editing, markup, and prose.