Emacs+EnsimeでScala開発環境を作った
動機
最初はIntelliJを使ってましたが、以下の理由でEmacs+Ensimeを使いはじめました。
・IntelliJが重く感じた
・マウスを使いたくなかった
環境
・Mac OSX Yosemite
・Emacs 24.5
構築
Scala+sbt
brew install sbt
Emacs
scala-mode2+Ensime
~/.emacs/init.elに以下の記述を追加しEmacsを再起動
(require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (package-initialize) (unless (package-installed-p 'scala-mode2) (package-refresh-contents) (package-install 'scala-mode2)) (unless (package-installed-p 'ensime) (package-refresh-contents) (package-install 'ensime)) (setenv "PATH" (concat "PATH_TO_SBT:" (getenv "PATH"))) (setenv "PATH" (concat "PATH_TO_SCALA:" (getenv "PATH"))) (require 'scala-mode2) (require 'ensime) (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
sbt pluginの設定
~/.sbt/0.13/plugins/plugins.sbtに以下を追加
resolvers += Resolver.sonatypeRepo("snapshots") addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.5") // project/plugins.sbt dependencyOverrides += "org.scala-sbt" % "sbt" % "0.13.8"
プロジェクト毎のEnsime用設定ファイル生成
プロジェクトのディレクトリに移動し以下コマンドを実行
sbt gen-ensime
Ensimeを起動
Emacs起動後に以下を実行
M-x ensime
Emacs+Ensimeの感想
・キーボードだけで大体コーディングできるから楽
・補完もIntelliJのが良いと思うけどあんま気にならない
・作ってるのが小さいシステムなので今の所問題無いが、大規模になったらどうなるか不明