10

リモートホスト上のensimeサーバーに接続するにはどうすればよいですか?私のネットブックはそのようなものには少し遅いです。データをコピーし、trampを使用してファイルをリモートで編集しました。bin/serverサーバーとそれに接続できるようにするためのssh転送を作成するために実行しました。ensime-connectローカルホストのポートに接続するために使用します。リモートサーバー上のensimeサーバーはで応答しますがGot connection, creating handler...、それだけです。Ensimeは[ENSIME: wtf]emacsステータスラインでモードになっています。これを修正するにはどうすればよいですか?

4

1 に答える 1

3

問題は、ensimeが接続の「構成」を見つけることができないことです(ensime-connectを介して作成されます)。

次の行はエラーをスローします:

(if (and loose (ensime-file-in-directory-p file project-root))

project-rootがnilであるため。

接続をensime-buffer-connectionに設定することで、問題を修正できます。ensime.elに次の関数を追加してみてください

を使用しensime-stackoverflow-connectて接続します。

(defun ensime-stackoverflow-connect (host port)
  (interactive (list
        (read-from-minibuffer "Host: " ensime-default-server-host)
        (read-from-minibuffer "Port: " (format "%d" ensime-default-port)
                      nil t)))
  (let ((c (ensime-connect host port))
    (config (ensime-config-load "/Users/whunmr/lab/scala/.ensime")))
    (ensime-set-config c config)
    (setq ensime-buffer-connection c))
  )

コード内の構成パスを変更することを忘れないでください: "/ Users / whunmr / lab / scala / .ensime"

編集1: 「。ensime」ファイルは、Mxensimeコマンドによってscalaプロジェクトフォルダーに作成されました。実際には、構成をハードコーディングするだけで、ファイルを無視できます。

(defun ensime-my-connection (host port)
      (interactive (list
            (read-from-minibuffer "Host: " ensime-default-server-host)
            (read-from-minibuffer "Port: " (format "%d" ensime-default-port)
                          nil t)))
      (let ((c (ensime-connect host port))
        (config '(:project-name "test" :project-package "com.whunmr" :sources ("./src") :compile-jars ("./" "../../apps/scala/lib/") :target "./bin" :root-dir "/Users/twer/lab/scala/")))
        (ensime-set-config c config)
        (setq ensime-buffer-connection c))
      )
于 2012-12-04T17:15:57.823 に答える