Scala made an amazing march up the TIOBE Index last year, even breaking into the top twenty. It’s no wonder that developers have flocked to Scala: it’s a viable Java replacement that can operate in parallel with Java on the JVM.
Scala has remained relatively steady in recent years. It’s a good functional programming language to get started with. The recent announcement regarding the 2.13 updates and future Dotty releases has piqued the curiosity of developers.
This list is, as usual, a question of personal choice. We can’t possibly include every IDE and text editor available. However, if we’ve missed your favorite Scala IDE, please let us know in the comments!
Here are our top 5 Scala IDEs and text editors!
Eclipse Scala IDE
There is, of course, a Scala extension for Eclipse. What’s the point if there isn’t? This Scala IDE includes support for both pure Scala and hybrid applications. Scala IDE 3.0 includes a slew of new features and functionality for developers, as well as a few major bug fixes.
Code completion, implicit and semantic highlighting, and an all-new indent guide are sophisticated editing options. To make your life simpler, there’s a gleaming Scala debugger, as well as a dependable Junit test finder and an asynchronous debugger.
Ensime
This one is somewhat of a twofer. Emacs and Atom are both text editors with outstanding Scala support, but today we’re focused on the underlying technology that allows this to happen — ENSIME. ENSIME is a free and open-source program that adds Scala and Java IDE-like functionality to your preferred text editor.
ENSIME is not a text editor or an integrated development environment (IDE). To utilize it, you’ll need a build tool, an.ensime file, and a text editor. The build tool downloads the ensime-server, which is then launched via the text editor. While this is a little more complicated than other IDEs, the benefits are substantial.
With implicit expansions, ENSIME offers contextual completion and semantic highlighting. Developers can easily go to source code or documentation. ENSIME allows refactorings and, most crucially, red squiggly lines appear in your code to identify errors and warnings.
IntelliJ IDEA
IntelliJ IDEA has already appeared on such lists since this competent and ergonomic JVM IDE supports many languages. While this is officially a Java IDE, it also supports many additional languages such as Scala, Groovy, Kotlin, JavaScript, TypeScript, and SQL.
In addition to a slew of functionality, IntelliJ IDEA includes Scala-specific testing assistance with ScalaTest. This enables developers to easily do unit testing. Smart completion, language injection, an editor-centric environment, and many useful build tools are also included.
NetBeans
NetBeans IDE enables developers to create desktop, mobile, and online apps fast and effortlessly. NetBeans IDE makes things easier for developers by providing several capabilities for editing, analyzing, and converting. The project management tool alone is worth investigating.
The Scala NetBeans plugin includes a comprehensive Scala editor with syntax and semantic coloring, an outline navigator, code completion, and other functionality. There’s also a debugger, an interactive console, and Junit and Maven integration.
Vim
Vim, the grand old dame for every developer, is a text editor for developers who wish to completely tailor their own experience. In fact, this is sometimes the biggest issue regarding Vim: developers must install a plethora of plugins in order to truly get the desired environment. However, Vim has a lot of Scala plugins to make it work.
Vim-scala is a nice starting point for managing syntax. Deoplete is a popular code completion plugin. nvim is a framework for asynchronous completion that is driven by the dark. fzf is a single command-line application for Vim that handles Jump to File and Jump to Definition. When all three of these plugins are used together, the Scala experience in Vim becomes truly functional.
Briefly mentioned
Microsoft’s Visual Studio Code is another Scala choice. For a more precise editing experience, VS Code includes extensions for dozens of languages, including Scala. Sublime Text, a free alternative with various functionality for code editing, markup, and writing, is another option for developers.