2012-11-17 15 views
10

Wie kann ich eine Verbindung zu einem ensime-Server auf einem Remote-Host herstellen? Mein Netbook ist ein bisschen langsam für diese Art von Sachen. Ich kopierte die Daten über und benutze Landstreicher, um die Dateien entfernt zu bearbeiten. Ich lief bin/server, um den Server und eine SSH-Weiterleitung zu erstellen, um sich damit verbinden zu können. Ich verwende ensime-connect, um eine Verbindung zum Port von localhost herzustellen. Der ensime-Server auf dem Remote-Server antwortet mit Got connection, creating handler..., aber das ist es auch schon. Ensime ist in [ENSIME: wtf] Modus in der Emacs-Statuszeile. Wie behebe ich das?Verbinden Sie Emacs mit einem Remote-ensime-Server

+0

Haben Sie die Quelldateien im selben Verzeichnis auf dem Client und auf dem Server? –

+0

Nicht in absoluten Pfad, aber der gleiche relativ zu $ ​​HOME. – Reactormonk

+0

glaube nicht, dass dir das helfen wird –

Antwort

3

Das Problem ist die ensime kann "config" der Verbindung nicht finden (durch ensime-connect).

und dann wird folgende Zeile wirft Fehler:

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

weil Projekt-root Null ist.

Durch Einstellen der Verbindung zur ensime-buffer-Verbindung kann das Problem behoben werden. versuchen, folgende Funktion zu Ihrem ensime.el

und die ensime-stackoverflow-connect zu verbinden.

(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)) 
) 

erinnere mich an den Config-Pfad im Code zu ändern: "/Users/whunmr/lab/scala/.ensime"

EDIT1: die ".ensime" Datei wurde von Mx ensime erstellt Befehl, in Ihrem scala Projektordner. eigentlich, nur durch hardcode die config, können Sie die Datei ignorieren.

(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)) 
    ) 
+0

Wie erzeuge ich die Konfigurationsdatei/was geht da rein? – Reactormonk

+0

Hallo @Tass, siehe EDIT1 für Ihre Frage. – whunmr

+0

Wäre es nicht möglich, die Konfiguration z. die Tramp-Verbindung? – Reactormonk