如图所示,我没有做任何的配置,直接打开了一个 go 文件,然后执行 lsp 后输入就出现了这样的情况…
为了排除是 gopls 的问题,我试了一下 eglot 和 coc.nvim 都没有出现这样的情况…
求解答qwq
如图所示,我没有做任何的配置,直接打开了一个 go 文件,然后执行 lsp 后输入就出现了这样的情况…
为了排除是 gopls 的问题,我试了一下 eglot 和 coc.nvim 都没有出现这样的情况…
求解答qwq
是不是用了company-lsp?把company-lsp-cache-candidates 禁用掉试试。
并没有什么变化T_T
更新你的gopls 0.3.2 没有filter 0.3.3是ok的。使用lsp-prefer-capf 就不用装company-lsp。
不要用 company-lsp, 设置 lsp-enable-completion-at-point 后,用 company-capf 后端试试。 好像 company-lsp 给 mspyls 补全也是一堆乱七八糟的补全,后来换 capf 好了。
completion-at-point-function , 具体可以看 completion-at-point-functions 里面的数值。
确认当前究竟用的 company 哪个后端可以查看 company-backends 的值。
我直接把 company-backends setq 成 '(company-capf) 了,但是还是这样T_T
这个是 company-lsp 的问题,试试我的解决方案。
至于company-capf不起效,你设置lsp-prefer-capf
了吗?
试过了,但是没有效果T_T
我看看你发的这个
要是用company-lsp 设置company-lsp-filter-candidates
,不过在0.3.3gopls 使用lsp-prefer-capf是正常的,参见我的两个issue
Why there is a completion list if there is no match · Issue #124 · tigersoldier/company-lsp · GitHub
lsp-prefer-capf doesnt work well · Issue #1451 · emacs-lsp/lsp-mode · GitHub
直接设置company 后端是 capf 不一定有用,如果不设置 lsp-prefer-capf ,并且安装了 company-lsp, 那么 lsp 启动的时候可能会给你把 company-lsp 放最前面去,并且干掉 company-capf。这样你的补全还是 company-lsp。.
我本地测试了下,company-capf 是有效的。
我配置里的company 和lsp 你可以直接用 https://github.com/hardcoreplayers/galaxy-emacs/blob/develop/modules/completion/%2Bcompany.el
emmm还是不行
我通过 C-h v
查看过了 company-backends
里面也只有 company-capf
,但是依然有这样的现象…
这是我关于 lsp
的配置
会是 emacs 版本的问题吗?(我是 26.3
好像的确是 gopls 的问题…
我把配置拷到一台 manjaro 的机子上就正常了QAQ
我最近写 golang 也遇到这个问题,所以是 gopls 的问题吗?我写 python(mspyls) 和 rust(rls) 都是正常的,写 go(gopls) 的时候会补出来很多奇怪的东西,并且性能很差。工作环境是一台老 mac,10.15.6
看起来多半是gopls的问题
提个小建议 hook那可以简写成:hook ((c-mode c+±mode js-mode go-mode) . lsp)
但是 vscode 的表现就也还好,虽然跑起来也会飙一下 CPU,但是起码能正常补全,而且也不会太卡