Scala入門記004 sbt + Eclipse

現時点でのIDEの選択肢はEclipseIntelliJ IDEAの2択のようです。
今回はsbtプロジェクトをEclipseに対応させていきます。
Scala入門記の目次はこちらです。


ScalaプロジェクトをEclipseで使う際はEclipse + Scala IDEという構成が今の最良の環境でしょう。
この記事を書いた時点での最新環境として、「Eclipseは4.3 SR1」 + 「Scala IDE 3.0.2」を用意しました。
公式サイトはScala IDE for Eclipseです。
Eclipse Marketplaceからインストールできました。


プロジェクトの設定

Eclipse対応のプロジェクトにするにはsbteclipseというプラグインを使う必要があります。
これはproject/plugins.sbtに以下の記述をすると使えるようになります。

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")

これで、

sbt eclipse

とすると、Eclipseに対応した.projectと.classpathが生成されます。
これでEclipseから「Existing Projects into Workspace」でワークスペースにインポートすることができます。

f:id:t_hachinohe:20140117122128p:plain


また、

sbt "eclipse with-source=true"

を実行するとソースがダウンロードされます。


私はよく以下の様な間違いをします。

sbt eclipse with-source=true
sbt "eclipse with-sources=true"
sbt "eclipse -with-source=true"

これらはエラーになります。
mavenとごちゃごちゃになってます(^_^;)


グローバルな設定

このsbteclipseの設定ですが、複数の人で共同開発する際にはリポジトリにコミットしたくないかもしれません。
そんな場合は

~/.sbt/0.13/plugins/plugins.sbt

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")


を書くと、どのsbtプロジェクトでもsbteclipseプラグインを使うことができるようになります。

私はグローバルに設定することにしました。


git

sbteclipseを使うとEclipse用のファイルが出来ますが、これは.gitignoreにしておくのが良いでしょう。

除外するのは以下の2つですね。

.project
.classpath

これは.gitignoreに書いても良いですが、こちらもグローバルな.gitignoreにしても良いかもしれません。

~/.gitignore_global


に追加するとすべてのgitリポジトリで有効になります。
この設定は人それぞれの好みかと思います。


まとめ

EclipseScalaをやるときはMarketplaceからScala IDEをインストールするだけで簡単に統合開発環境が用意できます。
私としてはリファクタリング機能は開発には必須なのでEclipseで開発できるのはとても心強いです。


Scala入門記の目次はこちらです。