EnsimeはEmacsでScala開発環境を構築するときに使うことで有名ですが、実はSublime Textでも利用することが可能です。
Ensimeはコード補完だけではなく、文法エラー表示、import追加機能、クラスやメソッドへのコードジャンプ、デバッグ機能などもあり、より強力な開発環境を構築することが出来るようになります。
個人的にはテキストエディタで作るScala開発環境では今のところ最強に感じています。
今回の環境
- Mac OS 10.9
- Sublime Text 3 (Build3059を利用)
- Scala 2.10.3
- sbt 0.13.1
- とりあえずplay2.2.1もインストールしておきました。
インストール手順
- Sublime Text3にEnsimeプラグインを追加
- Ensimeサーバーのインストール
- sbtにEnsimeプラグインを追加
- sbtコマンドによる.ensimeファイルの作成
1. Sublime Text3にEnsimeプラグインを追加
Package ControlからEnsimeを検索してインストールします。
2. Ensimeサーバーのインストール
こちらより、サーバーをダウンロードします(2014/3時点の最新であるensime_2.10.0-0.9.8.9.tar.gzを選択)。
解凍後、以下を実施。
$ cd ~/Library/Application Support/Sublime Text 3/Packages
$ mkdir -p Ensime/Server
$ cd Ensime/Server
$ mv (ダウンロード場所)/ensime_2.10.0-0.9.8.9/* .
3. sbtにEnsimeプラグインを追加
~/.sbt/0.13/pluginsにあるplugin.sbtに以下を追加します(ファイルがなければ作成)。
addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "0.1.2")
4. sbtコマンドによる.ensimeファイルの作成
サンプルとして、playアプリケーションで.ensimeファイルを作成します。
$ play new hello-play
$ cd hello-play
$ sbt
> ensime generate
クラスパスが通っているものについては全てコード補完が効くようになります。
実行
Sublime Text3を起動し、右クリックから[Ensime] - [Maintenance] - [Startup]を選択。
実行サンプル
自作のcase classも(もちろん別ファイルで定義されていても)、Scala標準Listの関数もPlayのクラスも問題なく補完が効きます。
うまく動かないときは
- Ensimeのstartupを忘れている
- .ensimeファイル作成時のsbt compileでコンパイルエラーが残ったまま
- Sublime Text3のEnsimeプラグインを一度removeして再度インストールする
- Consoleを見るとptyhonのエラーが出てうまく動いていない事がありましたが入れなおすことでうまく動くようになりました