Scala 如何让ensime在windows中工作?

Scala 如何让ensime在windows中工作?,scala,ensime,Scala,Ensime,我是emacs新手,我想在Windows中使用。 我试过了,但没用。它似乎不起作用,因为有一个名为“\ensime\bin\server.sh”的*nix格式文件。 如果有人给我一些建议,我将不胜感激 编辑: 我听从了VonC的建议,但并不完美。我肯定我错过了什么。 我已经在D:\Dev\emacs-23.1目录下安装了emacs23.1,在D:\Dev\emacs-23.1\scala模式下安装了scala模式,在D:\Dev\emacs-23.1\ensime中安装了ensime 以下是我的

我是emacs新手,我想在Windows中使用。 我试过了,但没用。它似乎不起作用,因为有一个名为“\ensime\bin\server.sh”的*nix格式文件。 如果有人给我一些建议,我将不胜感激

编辑: 我听从了VonC的建议,但并不完美。我肯定我错过了什么。 我已经在D:\Dev\emacs-23.1目录下安装了emacs23.1,在D:\Dev\emacs-23.1\scala模式下安装了scala模式,在D:\Dev\emacs-23.1\ensime中安装了ensime

以下是我的.emacs文件内容:
这是我的D:\Dev\emacs-23.1\ensime.ensime文件内容:
这是我的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%

将shell脚本移植到
服务器的DOS中应该很简单。bat

@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
    目录

我们最近合并了一些有助于支持windows的更改。ENSIME现在包含一个bin/server.bat文件。另外,类路径构造现在使用与平台相应的路径分隔符。

请注意,如果在windows上从git clone构建,则需要在每个jar文件之前修改server.bat并删除。\dist\。此外,当dist目录被涂上焦油时,您将得到一个错误。这一点可以忽略。 ensime是一个活跃的项目,Aemon Cannon几乎每天都在推动更新。与一个月前相比,最新版本改进了很多。因此,从git clone安装是一个好主意。请参阅中的说明 建立呼叫

sbt更新

sbt区

忽略tar错误。 如上所述修复server.bat
尽管存在一些严重的bug,但对于喜欢emacs和scala的人来说,这是天赐之物。你不需要日食。而且Aemon可以快速修复bug。它适用于android项目。我所要做的就是添加:编译jar(“d:/software/androidsdkwindows/platforms/android-4/android.jar”)到.ensime。

Strange。。。我在工作中没有看到turboimagehost图片,我会在家里几个小时后检查。我所能看到的只是脚本看起来不错。@VonC我想我需要更多地了解emacs,并找出它不起作用的原因。无论如何,非常感谢!
@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%
@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%