我是emacs的新手,我想在Windows中使用ensime。
我尝试了一下,但是没有用。似乎不起作用,因为有一个* nix格式的文件,名为“\ ensime \ bin \ server.sh”。
非常感谢有人给我一些提示。
编辑:
我遵循VonC的建议,但效果并不理想。我确定我错过了一些东西。
我已经在目录D:\ Dev \ emacs-23.1中安装了emacs23.1,在D:\ Dev \ emacs-23.1 \ scala-mode中安装了scala模式,并在D:\ Dev \ emacs-23.1 \ ensime中安装了ensime。
这是我的.emacs文件内容:
;;禁用工具栏
(tool-bar-mode nil)
;;显示行号
(global-linum-mode t)
;;使用scala mode
(add-to-list 'load-path "D:/Dev/emacs-23.1/scala-mode/")
(require 'scala-mode)
(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode))
(add-to-list 'load-path "D:/Dev/emacs-23.1/ensime/src/elisp/")
(require 'ensime)
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
这是我的D:\ Dev \ emacs-23.1 \ ensime.ensime文件的内容:
(
:server-root "D:/Dev/emacs-23.1/ensime/"
:server-cmd "D:/Dev/emacs-23.1/ensime/bin/server.bat"
:server-host "localhost"
:server-env ()
:project-package "com.ensime"
:source ("src")
:exclude-source ()
:classpath ("lib/jnotify/jnotify-0.93.jar"
"lib/scala/scala-library.jar"
"lib/scala/scala-compiler.jar")
)
这是我的D:\ Dev \ emacs-23.1 \ ensime \ bin \ server.bat文件内容:
@echo off
set PORT_FILE=%1
set CLASSPATH=D:\Dev\emacs-23.1\ensime\lib\jnotify\jnotify-0.93.jar;D:\Dev\emacs-23.1\ensime\lib\scala\scala-library.jar;D:\Dev\emacs-23.1\ensime\lib\scala\scala-compiler.jar;D:\Dev\emacs-23.1\ensime\dist\ensime.jar
java -classpath %CLASSPATH% -Djava.library.path=D:\Dev\emacs-23.1\ensime\lib\jnotify com.ensime.server.Server %PORT_FILE%
alt text http://www.turboimagehost.com/p/3350328/3769883.PNG.html
最佳答案
在DOS中以server.bat
移植shell脚本应该很简单:
@echo off
set PORT_FILE=%1
set CLASSPATH=lib\scala\scala-library.jar;lib\scala\scala-compiler.jar;dist\ensime.jar
java -classpath %CLASSPATH% -Djava.library.path=lib\jnotify com.ensime.server.Server %PORT_FILE%
从ensime目录执行。
一个更独立的版本(可以从任何目录执行)是:
@echo off
set t=%~dp0
set adp0=%t::\=:\"%"
cd %adp0%..
set CLASSPATH=lib\scala\scala-library.jar;lib\scala\scala-compiler.jar;dist\ensime.jar
java -classpath %CLASSPATH% -Djava.library.path=lib\jnotify com.ensime.server.Server %PORT_FILE%
即使
ensime
在路径中且带有空格,它也应该起作用。%~dp0
是server.bat的完整路径(其中带有潜在空格的路径)set adp0=%t::\=:\"%"
将在该路径周围添加双引号%adp0%..
将引用ensime
目录