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 を実行すると、正常に動作してくれるようになった。
![CropperCapture[8] CropperCapture[8]](http://lh3.ggpht.com/_2IbZQWoiKQ0/TRobctaeTtI/AAAAAAAAAvU/l6xQ3fReNyc/CropperCapture84.png?imgmax=800)
![CropperCapture[9] CropperCapture[9]](http://lh4.ggpht.com/_2IbZQWoiKQ0/TRobdoaLgSI/AAAAAAAAAvY/WR2ALn-P-EQ/CropperCapture%5B9%5D%5B7%5D.png?imgmax=800)
![CropperCapture[10][4] CropperCapture[10][4]](http://lh5.ggpht.com/_2IbZQWoiKQ0/TRobeQMdHqI/AAAAAAAAAvc/qahqflgfUC8/CropperCapture%5B10%5D%5B4%5D%5B5%5D.png?imgmax=800)
![CropperCapture[11] CropperCapture[11]](http://lh3.ggpht.com/_2IbZQWoiKQ0/TRobfKOoaMI/AAAAAAAAAvg/qr4r_w3bOCo/CropperCapture%5B11%5D%5B4%5D.png?imgmax=800)
![CropperCapture[7] CropperCapture[7]](http://lh5.ggpht.com/_2IbZQWoiKQ0/TRKWFN5-d0I/AAAAAAAAAu8/J9T9XmVY58o/CropperCapture%5B7%5D%5B11%5D.png?imgmax=800)
![CropperCapture[9]2 CropperCapture[9]2](http://lh6.ggpht.com/_2IbZQWoiKQ0/TRKWF5_AUSI/AAAAAAAAAvA/WKfAQO-88s8/CropperCapture%5B9%5D2%5B3%5D.png?imgmax=800)
![CropperCapture[8] CropperCapture[8]](http://lh5.ggpht.com/_2IbZQWoiKQ0/TRKWGeh1olI/AAAAAAAAAvE/dY0yGB9yynA/CropperCapture%5B8%5D%5B7%5D.png?imgmax=800)