scala-mode
うちのおんぼろPCだとIDEがきついので最近はScalaを書くのにEmacsを使ってます。
Scala用.elファイルはScalaの本体フォルダ-> misc -> scala-tool-support -> emacs の中に入っています。
これをパスが通っている場所において、.emacsに
(require 'scala-mode-auto) (add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode)) (require 'scala-mode-feature-electric) (add-hook 'scala-mode-hook (lambda () (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-systems 'utf-8) (scala-electric-mode) (define-key global-map "\C-cs" 'scala-run-scala) (define-key global-map "\C-c\C-e" 'scala-eval-definition)))
と書けばOK。最初の2行だけでscala-modeとして利用するには十分ですが、scala-mode-feature-electricで閉じカッコ保管、あとは文字コード指定やREPLの起動などをキーバインドとして登録しています。
全体的なキーバインドは
- C-cC-l : scala-load-file ファイル読み込み
- C-cC-r : scala-eval-region リージョン範囲のプログラム実行
- C-cC-b : scala-eval-buffer バッファ全体のプログラム実行
- C-cC-c : comment-region リージョン範囲のコメントアウト
- C-cs : scala-run-scala 別窓を開いてREPLの起動
- C-c C-e : カレントの式(ポイントが乗ってる式、または直前の式)を評価
といった感じ。スクリプトとして編集するなら割とサクサクできます。コンパイルしてテスト書きながらガリガリやるならsbtの設定もほしいところですが、それはまたいずれ。