我正在尝试配置lsp-mode来处理通过TRAMP打开的远程文件。文档并没有真正谈到这一点,但从我从各种搜索中收集到的信息来看,我拼凑出了以下内容:
(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退出:
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有没有我可以启用的调试输出?
发布于 2021-02-02 05:32:27
这是我的配置,它看起来是有效的(我也在移动我的第一步)
(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或其他工具。但我仍然没有想出如何同时注册多个客户端,所以任何建议都将不胜感激。
是的,文档肯定应该改进,或者至少他们应该增加一个论坛,在那里留下一些问题。
https://stackoverflow.com/questions/56229934
复制相似问题