IntelliJ IDEA 13 で SBT がサポートされたので試してみた。


IntelliJ IDEA の SBT 正式サポート

IntelliJ IDEA 13 がリリースされ、 Scala のビルドツールである SBT に正式対応となった。

以前は sbt-idea plugin を使うことで、 SBT を用いてインストールしたライブラリ用の External Libraries 設定の書かれた xml ファイルを生成し、 IntelliJ 上でそれらのライブラリを扱うことができていた。
https://gist.github.com/kmizu/1876800

しかし、今回のアップグレードによって、 build.sbt に変更を加えるだけでそれらの xml が生成され、 IntelliJ 上でライブラリが読み込まれた状態となる。

私のようなバカでも SBT をすぐに導入することができる。 JetBrains ありがとう。

事前準備

  • IntelliJ IDEA 13 のインストール
  • scala, sbt プラグインのインストール

プロジェクト作成

Create New Project を選択

Other の項目に SBT の項目が追加されているので、感謝しながら選択

プロジェクトの内容を確認

プロジェクトのディレクトリー構成ツリーはこんな感じ。

build.sbt にはこんな内容が書かれてる。

build.sbt
name := "sbt-test"

version := "1.0"

適当な Logger をインストールしてみる

Scala の Logger を試しに入れてみる。
今回は scalalogging をチョイス

build.sbt
name := "sbt-test"

version := "1.0"

libraryDependencies ++= Seq(
  "com.typesafe" %% "scalalogging-slf4j" % "1.0.1",
  "org.slf4j" % "slf4j-api" % "1.7.1",
  "ch.qos.logback" % "logback-classic" % "1.0.7"
)

この段階ではライブラリはインストールされなかった。

SBT task を実行

Tool Window パネルがデフォルトでは閉じているので、左下のボタンをクリックして表示する。

左右側と下側にタブが表示されるので、右下の SBT をクリックする。

目的の SBT プロジェクトを右クリックし、 Refresh external project を実行する。

めでたく External Libraries に読み込まれたことを確認!

自動で変更が反映されるように変更

毎回 Refresh するのが面倒な場合は、 Use auto-import オプションをオンにしなくてはならない。
一旦 SBT tasks から削除し、 File → `Import Project....sbt ファイルを選択することで可能だった。

さて Scala しよう

Scala 言語仕様デカすぎ。