AtomでScalaを開発する際に、ある程度使いやすくするための設定をやっていきます。環境はMacを前提として進めていきます。
パッケージ
ひとまず以下の2つのパッケージをインストールします。
language-scala
何はともあれ言語サポート
https://atom.io/packages/language-scala
ensime
定義元ジャンプや補完、型検索を可能にしてくれる凄い子。AtomがIDEになっちゃう!
https://atom.io/packages/ensime
apmコマンドでインストールした場合、再起動時にエラーが発生する可能性がありますが、その際はもう一度再起動してみてください。
ensimeの設定
language-scalaの方は入れるだけで働いてくれるのですが、ensimeの方はちまちまと設定が必要となります。
sbtのインストール
自分はScalaをインストールするときに同時にインストールしたので問題ありませんでしたが、まだsbtがPC上に存在していない場合、インストールしておきましょう。
Atom側の設定
sbtの実行パスを設定します。
- Atomの設定画面
- Package
- ensimeで検索
- 検索結果に出てきたensimeのSettingを選択
- sbt Execの中にsbtの実行パスを設定
- 実行パスはsbtを特別な方法でインストールしていない限り、/usr/local/bin/sbtとなっています。異なるパスにインストールしている場合はそのパスを入力してください。
sbtのプラグインにensimeを追加
ホームディレクトリ配下に.sbt/XXX[数字]といった形のディレクトリが存在していますので、pluginsディレクトリを作成し、plugins.sbtファイルを作成し、以下の内容を記述してください。
addSbtPlugin("org.ensime" % "sbt-ensime" % "2.0.1")
実行時の最新バージョンについてはこちらのページでコマンドを確認すればOKでしょう。
ENSIMEがディレクトリを作成しないように設定
Ensimeがバージョン番号のついたscalaディレクトリを作成するケースがあるので、それを防ぐための設定をしておきます。
ホームディレクトリ配下の.sbt/XXX[数字]ディレクトリにglobal.sbtというファイルを作成し、以下のように記述します。
import org.ensime.EnsimeKeys._ ensimeIgnoreMissingDirectories := true
設定の読み込み
Atomとsbtへの設定が完了したら、プロジェクトディレクトリで以下のコマンドを実行します。
sbt ensimeConfig
ensimeの実行
あとは同じくプロジェクトディレクトリにおいてコマンドパレット(cmd + shift + P)からEnsime: Startを起動すればOKです。
Ensime:Startにおいてエラーが発生した場合
僕の場合、Ensime:Startを実行した際、エラーが発生しました。以下の手順を行なったところ、正常に起動するようになりました。
- Atomのensimeパッケージをアンインストール
- apm install ensime/ensime-atomを実行
- Atomを再起動
- Ensime:Startを実行
まとめ
プロジェクトごとに設定の反映とスタートを行わなければならないのが手間ではありますが、IDEレベルの開発サポートが得られると思えば悪くないかなという印象です。
ディレクトリ開いたときに自動的に起動するようなスクリプトなど作れれば便利そう・・・