首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用clangd over TRAMP配置emacs lsp-mode?

如何使用clangd over TRAMP配置emacs lsp-mode?
EN

Stack Overflow用户
提问于 2019-05-21 09:23:10
回答 1查看 1.9K关注 0票数 8

我正在尝试配置lsp-mode来处理通过TRAMP打开的远程文件。文档并没有真正谈到这一点,但从我从各种搜索中收集到的信息来看,我拼凑出了以下内容:

代码语言:javascript
复制
(use-package lsp-mode
  :commands lsp
  :straight t
  :config
  (progn
    (add-hook 'prog-mode-hook #'lsp)
    (lsp-register-client
     (make-lsp-client :new-connection (lsp-tramp-connection
                                       "/path/to/clangd")
                      :major-modes '(c-mode c++-mode)
                      :remote? t
                      :server-id 'clangd-remote))))

(use-package lsp-ui
  :commands lsp-ui-mode
  :straight t)

(use-package company-lsp
  :commands company-lsp
  :straight t)

但在打开文件时,lsp-mode报告clangd退出:

代码语言:javascript
复制
LSP :: clangd-remote has exited (exited abnormally with code 127)
Server clangd-remote:32027 status:starting exited with status exit. Do 
you want to restart it? (y or n) n

我猜clangd并没有真正开始,但我不知道出了什么问题。我的配置是否正确?lsp-mode有没有我可以启用的调试输出?

EN

回答 1

Stack Overflow用户

发布于 2021-02-02 05:32:27

这是我的配置,它看起来是有效的(我也在移动我的第一步)

代码语言:javascript
复制
(use-package lsp-mode
  :hook ((prog-mode . lsp-deferred))
  :commands (lsp lsp-deferred)
  :config
  (progn
    (lsp-register-client
     (make-lsp-client :new-connection (lsp-tramp-connection "clangd")
                      :major-modes '(c-mode c++-mode)
                      :remote? t
                      :server-id 'clangd-remote))))

这个想法是将emacs注册为客户端,而不是LSP。我通过TRAMP连接到安装了clangd的WSL2。

我的真正目标是设置一个LSP来编辑PHP代码,利用Serenata或其他工具。但我仍然没有想出如何同时注册多个客户端,所以任何建议都将不胜感激。

是的,文档肯定应该改进,或者至少他们应该增加一个论坛,在那里留下一些问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56229934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档