CLOVER🍀

That was when it all began.

Emacs 24でEnsimeを使う

以前からScalaEmacsで書いているのですが、自分の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のコンソール起動等々。

これから使って、慣れていこうと思います!