Help us understand the problem. What is going on with this article?

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

More than 3 years have 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 呼び出し元を表示

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした