なんか今更ですが、IntelliJ IDEA で sbt プロジェクトを扱う方法を見ていきます。 まぁ、JetBrain さんが提供する Scala プラグインをインストールすれば万事 OK なんですが、プラグインのインストールとかたまにしかやらないので忘れた時用のメモとして書いときます。 ちなみに ScalaTest をイジろうと思って sbt と IntelliJ IDEA を触ってるんだけど、この Scala プラグインは ScalaTest の実行などもサポートしてます。
内容
- IntelliJ IDEA に Scala プラグインをインストールする
- IntelliJ IDEA のエンコーディングの設定
- IntelliJ IDEA で sbt プロジェクトを新規作成する
- 既存の sbt プロジェクトを IntelliJ IDEA にインポートする
- git で管理する設定ファイル
IntelliJ IDEA に Scala プラグインをインストールする
まずは IntelliJ IDEA で Scala を扱えるようにするプラグインのインストール。 正直これができれば、プロジェクトの新規作成などは通常の操作とほとんど同じ。 プラグインのインストールも別に難しくありません。手順は以下のようにします。 以下ではプロジェクトを全て閉じた「Welcome」ページから始めてますが、プロジェクトを開いている状態から
[メニューバー] → [File] → [Settings...]
から「Settings」ダイアログを開いて、左側の項目から「Plugins」を選択すれば、2つ目の「Plugins」ダイアログと同様の画面がでます。
「OK」ボタンを押すと再起動を求めるダイアログが表示されるので「Restart」で再起動する
Scala 以外にもいろいろなプラグインがありますな。 「Install JetBrains plugins...」ボタン横の「Browse repositories...」をクリックすると Scala 関連の他のプラグインも含めてさらにたくさんのプラグインが出てきます。 機能に不満があったらこのあたりのプラグインを試してみるとよいかと。
IntelliJ IDEA のエンコーディングの設定
OS によっては OS 独自の文字エンコーディングが設定されていてコード中で日本語を使うと面倒なことになるので、もし設定されてなかったら文字エンコーディングを UTF-8 に設定しておく方が無難。「Welcome」ページではなく、プロジェクトが開いている状態では
[メニューバー] → [File] → [Other Settings] → [DefaultSettings...]
で以下の「Default Settings」ダイアログが開きます。
プロジェクトを開いている状態で現在のプロジェクトだけ文字エンコーディングを変えたい場合は
[メニューバー] → [File] → [Settings...]
で「Default Settings」ダイアログに似た「Settings」ダイアログが開くので、同様の設定をします。
また、個別のファイルごとに文字エンコーディングを設定したい場合はファイルを開いた状態で右下の文字エンコーディング表示をクリックして文字エンコーディングを選択します*1。
IntelliJ IDEA で sbt プロジェクトを新規作成する
IntelliJ IDEA から新規に sbt プロジェクトを作成する方法は、通常のプロジェクト新規作成とほとんど同じ。 途中でプロジェクトの型として「SBT」を選択するだけ。プロジェクトが既に開いている状態では
[メニューバー] → [File] → [New] → [Project...]
から。
プロジェクト作成後、sbt でビルドを行うので少々時間がかかります。
既存の sbt プロジェクトを IntelliJ IDEA にインポートする
次は既存の sbt プロジェクトを IntelliJ IDEA にインポートする方法。 build.sbt ファイルの詳細はここでは不必要だけど、テンプレートとして載せておきます:name := "sbt-test" version := "1.0" scalaVersion := "2.11.6" libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" //***** Compile Options ***** javacOptions ++= Seq( "-source", "1.8", "-target", "1.8", "-encoding", "UTF-8" ) scalacOptions ++= Seq( "-deprecation", "-encoding", "UTF-8" ) fork := true
コンパイラに文字エンコーディングの指定をしてますが、IntelliJ IDEA プロジェクトの文字エンコーディングとしてこれらを読み取ってくれたりはしません(コンパイル・オプションとしてはきちんと設定されてますが*2)。
プロジェクトが開いている状態では
[メニューバー] → [Open...]
から。
プロジェクトが開いている状態から始めるとこの画面は表示されません。
git で管理する設定ファイル
sbt プロジェクトでは「target」ディレクトリ下のファイルは git 管理する必要はありません。 また、IntelliJ IDEA プロジェクトでは(ディレクトリ・ベースの設定ファイルで).idea ディレクトリ下にある workspace.xml は git 管理の必要ありません。 したがって、.gitignore は以下のようにしておけばいいんでしょう:target/ .idea/workspace.xml
IntelliJ IDEA で sbt プロジェクトを扱う方法は大体こんな感じ。 プラグインのインストールも大して難しくはないけど、いっそのこと Groovy みたくデフォルトで入れておいてくれてもいいんじゃないかなぁ。 結構ファイルサイズが大きくなったりするのかな?
Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)
- 作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2015/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
- 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 235回
- この商品を含むブログ (46件) を見る