不是使用lsp go-mode company-go 就会报错是什么原因?

我的配置就这一句话

(add-hook 'go-mode-hook (lambda() (set (make-local-variable 'company-backends) '(company-go)) (company-mode)))

go-mode下如果不启动lsp就会报下面的错误

Company: An error occurred in auto-begin
Company: backend company-go error "GOCODE PANIC: Please check your code by "go build"" with args (candidates f)

我不想用lsp。这个是什么原因呢?

company-go 及其所依赖的 gocode 都过时了。

对于你这个问题,作者 @nsfGOCODE PANIC: Please check your code by "go build" · Issue #526 · nsf/gocode · GitHub 给出的答案是:

Gocode is no longer maintained, you can try this fork: https://github.com/mdempsky/gocode

现在除了这个还有什么友好的其他方案么?company的

现在直接lsp+gopls就行了啊

老哥,就是不想用lsp啊,总感觉lsp会鬼抽,有点心里阴影

可以试试 eglot 或者用tag

试试 company-gtags ?

但其实目前还是 gopls 靠谱些