以前からScalaはEmacsで書いているのですが、自分のPCのスペック不足により1度挫折したEnsimeのインストールにチャレンジしてみました。
導入手順で参考にしたのは、以下あたり。
Quick Start Guide
https://github.com/ensime/ensime-server/wiki/Quick-Start-Guide
Emacs24.3とTypesafeActivatorとENSIMEでScala開発環境
http://masato.github.io/2014/06/30/emacs-scala-typesafe-activator-ensime/
EmacsでつくるScala開発環境 後編(ENSIME)
http://tototoshi.hatenablog.com/entry/20100927/1285595939
ほぼ、この通りで導入できました。
以下、順を追って。
scala-mode2の導入
まずは、scala-mode2をインストールします。
Emacsを起動して、「M-x list-packages」でscala-mode2を選択してインストール。
Emacsの設定ファイルには、以下を加えておきます。
;; scala-mode2 (require 'scala-mode2) (add-to-list 'auto-mode-alist '("\.sbt$" . scala-mode))
Ensimeの導入
同じく、Emacsで「M-x list-packages」でEnsimeを選択してインストール。設定も追加。
;; ensime (require 'ensime) (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
sbtと合わせて使う
Ensimeはsbtのプラグインとしても提供されているようなので、こちらも導入することにします。
本家のQuick Start GuideInstalling the ENSIME sbt-pluginの部分)を参考に、以下のファイルを作成。
~/.sbt/0.13/plugins/plugins.sbt
resolvers += Resolver.sonatypeRepo("snapshots") addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.5-SNAPSHOT")
あとは、適当にsbtのプロジェクトを作成してみます。例えば、こんなの。
build.sbt
name := "hello-ensime" version := "0.0.1-SNAPSHOT" scalaVersion := "2.11.4" libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.3.2"
sbtを起動したら、初回はEnsimeのプラグインを認識してダウンロードとかしてきますが、起動後に以下を入力してEnsimeの設定ファイルを作成します。
> gen-ensime
プロジェクトの直下に、.ensimeファイルができているはずです。
この後、Emacs側で「M-x ensime」と入力してEnsime Serverを起動、接続します。この時、「gen-ensime」で生成したファイルを選びます。
Ensime Serverの起動にはちょっと時間がかかるみたいですが、起動した後はTABで補完、Ctrl-c + Ctrl+v + sでsbtのコンソール起動等々。
これから使って、慣れていこうと思います!