Подключить emacs к удаленному серверу

Как я могу подключиться к серверу ensime на удаленном хосте? Мой нетбук немного медленный для такого рода вещей. Я скопировал данные и использовал tramp для удаленного редактирования файлов. Я запустил bin/server, чтобы создать сервер и переадресацию ssh, чтобы иметь возможность подключиться к нему. Я использую ensime-connect для подключения к порту на localhost. Сервер ensune на удаленном сервере отвечает с Got connection, creating handler..., но об этом. Ensime находится в режиме [ENSIME: wtf] в строке состояния emacs. Как это исправить?

Ответ 1

Проблема заключается в том, что ensime не может найти "конфигурацию" соединения (сделанное через ensime-connect).

а затем следующая строка вызовет ошибку:

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

потому что корень проекта равен нулю.

Установив соединение с 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))
  )

не забудьте изменить путь конфигурации в коде: "/Пользователи/whunmr/lab/ scala/. ensime"

EDIT1: файл ".ensime" был создан командой M-x ensime в папке проекта scala. на самом деле, просто с помощью hardcode config, вы можете игнорировать файл.

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