2012-11-17 16 views
10

Come posso connettermi a un server ensime su un host remoto? Il mio netbook è un po 'lento per quel tipo di cose. Ho copiato i dati e ho usato il vagabondo per modificare i file da remoto. Ho eseguito bin/server per creare il server e un inoltro ssh per poterci connettere. Io uso ensime-connect per connettersi alla porta su localhost. Il server ensime sul server remoto risponde con Got connection, creating handler..., ma questo è tutto. Ensime è nella modalità [ENSIME: wtf] nella riga di stato di emacs. Come posso risolvere questo?Connetti emacs a un server ensime remoto

+0

Avete i file di origine nella stessa directory sul client e sul server? –

+0

Non in termini di percorso assoluto, ma lo stesso di '$ HOME'. – Reactormonk

+0

non penso che ti possa aiutare –

risposta

3

Il problema è che l'ensime non riesce a trovare "config" della connessione (realizzata tramite ensime-connect).

e poi seguendo la linea sarà getta errore:

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

perché progetto-root è pari a zero.

Impostando la connessione a ensime-buffer-connection, il problema può essere risolto. prova ad aggiungere la seguente funzione al tuo ensime.el

e utilizzare il ensime-stackoverflow-connect per la connessione.

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

ricordarsi di modificare il percorso di configurazione nel codice: "/Users/whunmr/lab/scala/.ensime"

Edit1: il file ".ensime" è stata creata da Mx ensime comando, nella cartella scala del progetto. in realtà, semplicemente con hardcode sul config, puoi ignorare il file.

(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

Come posso generare il file di configurazione/cosa va lì dentro? – Reactormonk

+0

hi @Tass, vedi l'EDIT1 per la tua domanda. – whunmr

+0

Non sarebbe possibile leggere parzialmente la configurazione ad es. la connessione del vagabondo? – Reactormonk

Problemi correlati