Edited at

Emacs + ENSIME でScalaの開発環境を作る

More than 1 year has passed since last update.


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に以下を登録しておく。


~/.emacs.d/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に書いておくことにした。


~/.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プラグインを利用する為に、以下のように記述する。


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

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の操作はそのバッファで行う。

Screenshot from 2017-01-30 00-34-37.png


その他


よく使うコマンド



  • C-c C-c e エラーを表示


  • C-c C-v r 呼び出し元を表示


参考