Emacs + ENSIME
Windowsでは動かないScalaのコードがあって、VirtualBoxにLubuntuを入れ、そこにIntelliJをインストールしてScalaのコードを書いてきた。しかし、IntelliJの動作が重くてツラいのでEmacs + ENSIMEを試してみることにした。
scala-mode
githubのscala-mode2のページを見ると以下のようになっており、ENSIMEのdependenciesに含まれている為、別途インストールする必要は無くなっている。
Development of scala-mode2 has moved to https://github.com/ensime/emacs-scala-mode
Install
stable-mepla
stable-meplaをinit.elに以下を登録しておく。
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
use-package
Emacsにuse-packageをインストールしておく。
M-x package-install use-package
inits
init-loaderを使っているので、ENSIMEの設定は~/.emacs.d/inits/90-scala.el
に書いておくことにした。
(use-package ensime
:ensure t
:pin melpa-stable)
以上でEmacs起動時にENSIMEがインストールされる。
.ensimeファイルの作成
プロジェクトフォルダの直下に.ensimeファイルが必要になる。今回はこのファイルを生成する為に、sbt-ensimeプラグインを使う。sbt以下のビルドツールにも対応しているので、自分の好みのビルドツールのインストラクションに沿って作成する。
sbtのpluginsフォルダが無ければ作成する。
mkdir ~/.sbt/0.13/plugins
sbt-ensimeプラグインを利用する為に、以下のように記述する。
addSbtPlugin("org.ensime" % "sbt-ensime" % "1.12.5")
あとは以下のコマンドを実行すれば、.ensimeファイルが作成される。
sbt ensimeConfig
ENSIMEの起動
.ensimeファイルを作成したプロジェクトフォルダに移動し、以下のコマンドでENSIMEを起動する。"ENSIME server starting..."と出た後に、"ENSIME ready."となればOK。
M-x ensime
また、C-c C-v s
でsbtが起動するので、sbtの操作はそのバッファで行う。
その他
よく使うコマンド
-
C-c C-c e
エラーを表示 -
C-c C-v r
呼び出し元を表示