neovim 中的 gopls 使用 lspconfig 似乎无法处理任何 go 文件,即使是具有 .git 或 go.mod 文件的文件。我的 lspconfig 可以在下面找到,之后是 .go 文件中的 LspInfo,显示它应该可以工作。任何帮助将非常感激!
lspconfig["gopls"].setup({
capabilities = capabilities,
on_attach = on_attach,
})
Run Code Online (Sandbox Code Playgroud)
我已经浏览了几乎所有有关此问题的 Reddit 帖子,并尝试弄乱我的 go 环境,但似乎没有任何效果。我还查看了日志,他们确实提到了 go_proxy=Off,但我的 go env 说得不同,这很奇怪。
小智 1
您还需要指定filetypes. 这是一个示例配置(我当前使用的)
lspconfig.gopls.setup {
on_attach = on_attach,
capabilities = capabilities,
cmd = {"gopls"},
filetypes = { "go", "gomod", "gowork", "gotmpl" },
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
settings = {
gopls = {
completeUnimported = true,
usePlaceholders = true,
analyses = {
unusedparams = true,
},
},
},
}
Run Code Online (Sandbox Code Playgroud)