Notepad++ で Scala を書く場合、起動は軽いけれどコードの補完をしてくれない。 Eclipse では 補完はしてくれるけれど起動が遅く、メモリの消費が大きい。補完も今一な気が。。 (+_+) やっぱ Meadow を使うのがいいのかな?
上記を参考に Meadow で Scala を利用できるようにした。
Scala のインストールされているディレクトリへのパスが空白を含まないように変更
しかし、当初 scala-mode を使えるように設定した後、 REPL を起動しようと M-x scala-run-scala を実行したら、
'c:\Program' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
とエラーが表示された。
これは、scala を c:\Program Files\scala にインストールしていたのがダメだったようだ。 c:\scala に再インストールしたら scala-run-scala で起動できるようになった。
elisp のあるディレクトリへのパスが空白を含まないように変更
次に ENSIME を利用するための設定をした後、M-x ensime を実行。しかし、
Failed to connect to Swank: server process exited.
とエラーが表示される。
The Swank Protocol について調べても判然とせず。
The Emacs ENSIME client communicates with the server using the Swank protocol.
と説明があるので、server を起動していそうなバッチファイルを、ENSIME をインストールしたディレクトリにおいて適当な引数を与えて実行。(cf. scala - How to make ensime work in windows? - Stack Overflow)
bin/server.bat 12345
結果はコマンドラインに、
server listening on XXXXX
と表示される。これに対して telnet で
telnet 127.0.0.1 XXXXX
と試みると接続がされる。Meadow において、M-x ensime-connect をしても同様に接続可。
ところで、複数の PC で Meadow の設定を共有するために設定ファイル・elisp は Dropox へ置いている。エラーの原因はまたもこのパスだった。
Dropbox へのパスは以下の通り、空白が含まれていた。
C:\Users\ユーザ名\Documents\My Dropbox
これを Dropbox の Preferences > Advanced の ‘Dropbox location’ にて、空白を含まない場所へ変更。
C:\Users\ユーザ名\Documents\Dropbox
これにより、M-x ensime で ENSIME を実行すると、正常に動作してくれるようになった。