Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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 を選択
スクリーンショット 2013-12-04 22.16.21.png
Other の項目に SBT の項目が追加されているので、感謝しながら選択
スクリーンショット 2013-12-04 22.17.19.png

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

プロジェクトのディレクトリー構成ツリーはこんな感じ。
スクリーンショット 2013-12-04 22.20.08.png
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 パネルがデフォルトでは閉じているので、左下のボタンをクリックして表示する。
スクリーンショット 2013-12-04 23.23.36.png
左右側と下側にタブが表示されるので、右下の SBT をクリックする。
スクリーンショット 2013-12-04 23.28.38.png
目的の SBT プロジェクトを右クリックし、 Refresh external project を実行する。
スクリーンショット 2013-12-04 23.34.57.png
めでたく External Libraries に読み込まれたことを確認!
スクリーンショット 2013-12-04 23.37.33.png

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

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

さて Scala しよう

Scala 言語仕様デカすぎ。

kazz187
http://animetick.net Animetick というサービスを作ってます。アニメの視聴状況を管理できます。
http://animetick.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away