繁体   English   中英

将emacs连接到远程ensime服务器

[英]Connect emacs to a remote ensime server

如何连接到远程主机上的ensime服务器? 对于那种东西,我的上网本有点慢。 我复制了数据并使用tramp远程编辑文件。 我运行bin/server来创建服务器和ssh转发以便能够连接到它。 我使用ensime-connect连接到localhost上的端口。 远程服务器上的ensime服务器通过Got connection, creating handler...回答Got connection, creating handler... ,但这就是它。 Ensime在emacs状态行中处于[ENSIME: wtf]模式。 我该如何解决?

问题是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))
  )

记得在代码中更改配置路径:“/ Users /whunmr / lab / adsa / .ensime”

EDIT1: “.ensime”文件是由scax项目文件夹中的Mx ensime命令创建的。 实际上,通过硬编码配置,您可以忽略该文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM