for IntelliJ IDEA

Compatible with  IntelliJ IDEA
347 644
Integrates with Simple Build Tool (SBT) to enable building Scala projects easily and quickly.

Offers a console where SBT commands can be entered interactively, and a Before Run task to delegate project compilation to SBT, as an alternative to the built in IntelliJ Make.

Documentation, Screenshots

Download plugin

Recent change notes

Support and Require IntelliJ IDEA 15

General usage instructions

Go to the "Before launch" options of a Run Configuration, uncheck "Make" and choose "Run SBT Action / test-compile" to compile the project with SBT. This plugin does not generate or synchronize your IDEA project structure from the SBT build configuration. We recommend using the native support for importing SBT in IntelliJ. For more details, see:
There is a new version that supports 14.1, but Jetbrains is slow to update this repository. See
Just got an update for 14.1 and I don't see sbt plugin available for this build. Can you please confirm what the roadmap to support 14.1 is? Thank you
Are there plans to update it as of IntelliJ Idea 14.1?
Is there a way to configure the SBT Console view (in IDEA CE 13.1 EAP) to correctly display Unicode characters (UTF-8) that are printed when running the program under development? Currently, instead of Unicode characters, e.g., greek letters, I see output such as "σ" or "γ". In my experience, this hints at not having the right encoding options set, rather than not using appropriate fonts. When I start sbt directly on the command-line of Windows, and run my program, then Unicode characters are displayed correctly. I added "-Dfile.encoding=UTF-8" to the VM options of Settings -> SBT, and also tried various fonts for the SBT Console view, but without success. Thanks (also for the great plugin in general), Malte
I too would be interested in being able to send a ^D so I could conveniently use the SBT plugin for Play. Using the skull to terminate the session works but is a bit cumbersome.
Hello, I am using SBT plugin(v. 1.5.0) to run a Play application with IntelliJ. I run the app using run command inside the SBT Console. In order to stop the Play app, I need to press Ctrl+D. However, this does not work in SBT plugin. I have to press the skeleton button to forcibly kill the sbt process. If I run the Play app in SBT Console in command line, Ctrl+D works fine and stops the app and takes me back to the console. Any idea how I can get Ctr+D working with SBT plugin? Thanks, Naree
virgo47: Please try the latest plugin update (1.4.0). The SBT console won't pop up when you load the project. It is still available in non-Scala projects, as SBT isn't just a build tool for Scala.
Would it be possible to hide SBT Console panel button in non-Scala projects?
The history can be accessed with Alt+Up
The history is not accessible.
How do you access your sbt history, what you would do by pressing up-arrow in a normal terminal in the SBT Plugin's Console?
I had trouble with scala 2.8.0 and found one simple way to fix it:

- replace the scala plugin lib with the newest ones. On my machine this is in "C:\Documents and Settings\mylogin\.IntelliJIdea90\config\plugins\Scala\lib"

- then simply add a dependency on the scala lib in the "module settings", and it's just fine! (with "export" unticked, "compile" mode)

Hope it helps,

The SBT project files are needed, because otherwise the plugin can't run. The SBT plugin doesn't need the POM file, but if you want to have the dependencies configured in IDEA, you will either need to do it manually or use IDEA's Maven plugin which needs the POM file.
So in order to use the plugin I need both an SBT project and a POM file?
Yes, the plugin always launches SBT in the IDEA project's base directory, so the SBT project needs to be there. If you want to improve the plugin, the method where SBT's working directory is chosen is in net.orfjackal.sbt.plugin.SbtRunnerComponent#startIfNotStarted

For me the show stopper for using SBT in multi-module projects is that SBT relies on Ivy's POM file parsing, and Ivy does not recognize the relativePath element in the POM's parent element. As a result SBT cannot compile multi-module Maven projects.

There are two solutions, but for neither of which I have the time:

1. Fix Ivy to recognize the relativePath element

2. Improve this SBT plugin to import dependencies from SBT into IDEA

Option 1 is probably easier.
Please  sign in  to leave a comment.