今天配置了一下 lsp-go/company, 发现一个诡异的问题, 补全的时候, 右括号 ) 总是会丢, 你们有遇到这种问题吗?
只在 golang 中遇到了, 其他语言是好的.
今天配置了一下 lsp-go/company, 发现一个诡异的问题, 补全的时候, 右括号 ) 总是会丢, 你们有遇到这种问题吗?
只在 golang 中遇到了, 其他语言是好的.
我还以为只有我是。问下你录屏用的什么软件?
可以试一下把paredit关了。 不久前我也会这样,后来不会了 ,好像就是把paredit关了,但我刚试了一下,现在开了却可以。
找了几个月前的配置跑了一下也是正常的,也许更新一下各个包就行了。
我也碰到过。现在不会了。
这是个 bug,我 report 的,现在已经修复了。升级下 company-lsp
。
参考下 Incorrect TAB region for interface{} · Issue #55 · tigersoldier/company-lsp · GitHub 。eglot
也有类似的问题。
建议也升级下go-langserver
,有几个 crash issue 修复了,还有可以运行到1.11上了。
seagle0128厉害!!!
确实是这个问题, 非常感谢帮忙
gipher capture
我昨天已经装了最新的 go-langserver 了, 现在已经很完美了, 谢谢.
前一阵子使用的时候 go-langserver
总是导致cpu飙升 ,最近不知还有没有这种情况。
我也有这个情况,很严重,风扇 呼呼的转
不客气,刚好我知道这个问题😄
我看go-langserver issue 1.11 modules 还没关啊。能用了吗?
这个issue是支持 go module,跟1.11是两码事呀
1.11最大的改动就是module了。除了这个之外应该不需要特别适配吧。
之前1.11上go-langserver 运行有问题,无法补全甚至无法运行。现在 vendor 和module可以手工执行一下命令补全了。
今天发现了一个类似的bug: Wrong completion with http.HandleFunc · Issue #71 · tigersoldier/company-lsp · GitHub
不知道是 langserver 返回的 snippet 就是错的, 还是 company-lsp 处理的有问题.
先临时用 (setq company-lsp-enable-snippet nil)
禁用模板补全了, golang 语言现在的嵌套模板的bug还是蛮多的.
应该是两边的协议不一致导致的,go-langserver 可能不是完全按照 lsp 协议实现的,认为这样返回数据就可以了。lsp-mode 呢认为不会这么返回数据,没有做错误处理,按照正常的数据直接处理了。前期不是很完善吧,gocode 也不行了,都转给其他人继续开发了,很多特性有问题。
我看了, 主要是 snippet 的格式有问题, 嵌套的时候 } 的位置错了, 我调试了一下, 改一下位置就好了.
让 Tiger 去看吧, 今天时间没细看, 就提供了一些线索.