lsp部分code是这样的。但是我得到的错误LSP::No LSP for go-mode.
(defun spacelite/init-lsp ()
(use-package lsp-mode
:config
(setq lsp-prefer-flymake nil)
:commands lsp)
(use-package lsp-ui :commands lsp-ui-mode)
(use-package company-lsp :commands company-lsp)
(add-hook 'go-mode-hook #'lsp)
(spacelite//lsp-keys-for-mode 'go-mode)
)
我看很多文章说go-mode支持gopls。所以不需要注册gopls?但是我看了下go-mode的code里面也没有gopls相关的东西。。奇怪。求助下怎么才能补全go。。
cireu
2
你是mac用户么。先看看(executable-find "gopls")
能不能找到lsp server
是lsp内置gopls的支持。
对的,vim可以正常使用gopls。commandline执行:(executable-find "gopls")
得到nil
cireu
7
mac有获取不到path的问题,装上这个应该就好了
有这个
(use-package exec-path-from-shell :defer t :config
(when (memq window-system '(mac ns x))
(exec-path-from-shell-initialize)))
cireu
10
估计你没执行。用了:defer
的情况代码不会自动执行,除非有东西触发他加载。试下把:defer
改成:demand
big thanks 能补全了。话说我移动Println上面之后 出来多东西。。这些窗口能控制吗 显示在浮动的窗口里类似Nvim
cireu
13
我一般不看这些的。太碍眼
(setq lsp-ui-sideline-show-code-actions nil
lsp-ui-sideline-show-hover nil)
这个hover 应该是lsp的dohover 这个是server 返回的,emacs的lsp是接受后端返回的通过lspui控制?dohover默认触发的?
还好吧 我vim用gopls1年多了。提了几个pr和issue。还行。我也不怎么依赖,只有第三方包的时候需要用下补全。