3

私はemacsを初めて使用し、Windowsでensimeを使用したいと思っています。試してみましたが、うまくいきません。「\ensime\ bin \server.sh」という名前の*nix形式のファイルがあるため、機能しないようです。誰かが私にいくつかのヒントをくれたらとても感謝しています。

編集:私はVonCの提案に従いますが、完全には機能しません。私は何かを逃したと確信しています。 代替テキスト emacs23.1をdirD:\ Dev \ emacs-23.1に、scala-modeをD:\ Dev \ emacs-23.1 \ scala-modeに、ensimeをD:\ Dev \ emacs-23.1\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%

代替テキストhttp://www.turboimagehost.com/p/3350328/3769883.PNG.html

4

3 に答える 3

5

最近、ウィンドウのサポートに役立ついくつかの変更をマージしました。ENSIMEにbin/server.batファイルが含まれるようになりました。また、クラスパスの構築では、プラットフォームに適したパス区切り文字が使用されています。

于 2010-04-30T21:59:24.363 に答える
2

DOSでシェルスクリプトを移植するのは簡単なことですserver.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スペースのあるパスにある場合でも、機能するはずです。

  • %~dp0server.batのフルパス(潜在的なスペースを含むパス)
  • set adp0=%t::\=:\"%"そのパスを二重引用符で囲みます
  • %adp0%..ensimeディレクトリを参照します
于 2010-04-21T10:33:30.613 に答える
0

Windowsでgitcloneからビルドする場合は、server.batを変更し、すべてのjarファイルの前に。\dist\を削除する必要があることに注意してください。また、distディレクトリがtarされているときにエラーが発生します。これは無視してかまいません。ensimeはアクティブなプロジェクトであり、AemonCannonはほぼ毎日更新をプッシュしています。最新バージョンは、1か月前と比較して大幅に改善されています。したがって、gitcloneからインストールすることをお勧めします。http://aemon.com/file_dump/ensime_manual.htmlの手順を参照して ください。

sbtの更新

sbt dist

tarエラーを無視します。上記のようにserver.batを修正します。深刻なバグがいくつかありますが、emacsやscalaが好きな人にとっては天の恵みです。日食は必要ありません。そして、Aemonはバグをすばやく修正します。これは、Androidプロジェクトでは正常に機能します。私がしなければならなかったのは、:compile-jars( "d:/software/android-sdk-windows/platforms/android-4/android.jar")を.ensimeに追加することだけでした。

于 2010-09-11T10:09:05.377 に答える