登录
首页 >  Golang >  Go问答

golang 片段/自动填充在 vs code 中不可用

来源:stackoverflow

时间:2024-03-21 15:21:33 383浏览 收藏

在 Visual Studio Code (VS Code) 中使用 WSL 终端时,对于 Go 语言,代码片段和自动填充功能不可用。本文探讨了导致此问题的原因并提供了解决方案。一种方法是启用 Go 语言服务器 gopls,这需要在 VS Code 设置中搜索“使用语言服务器”。另一种方法是检查 Go 扩展的设置,包括确保 goroot 路径正确设置,并启用以下选项:`go.autocompleteUnimportedPackages`、`go.goroot`、`editor.tabCompletion` 和 `go.useLanguageServer`。

问题内容

我使用带有 wsl 终端的 VS Code。我已经安装了许多主题和片段扩展。对于 C/C++、Python、JS、HTML/CSS 等,代码片段可以工作,但对于 GO 则不起作用。当我输入 imp 时,我希望获得像导入一样的自动完成功能,但它没有显示。不过它可以与 sublime 一起使用。对于GO,我已经安装了

  1. Go(来自 Microsoft)
  2. Golang 后缀代码补全
  3. gotemplate 语法
  4. GO 片段

特别是 GO snippets 旨在为 func main 提供片段,但它不会这样做。 我缺少什么吗?


解决方案


您可以做的一件事是启用 go 的语言服务器 - gopls。转到设置并搜索“使用语言服务器”。您将需要重新加载(或重新启动)您的 vscode。重新加载时,它应该警告您需要安装/更新 gopls 和其他工具 - 这样做应该没问题。

注意:
gopls 充其量只是测试版。有时会出现死机、占用cpu过多等情况。这并不理想,但人们正在努力,而且每天都在变得更好。请记住,它可能不太理想,好吗? :)

这可能是您正在使用的扩展程序的设置有问题。

您可以卸载并重新安装 go extension,看看是否能解决问题。

另外一个选项是编辑 go 扩展的设置图标下的 settings.json 文件。

使用终端来改变 goroot 是很有用的,

$ go evnv

并确保它在settings.json文件中被提及,如果没有,你需要复制标签goroot="/"下的值

然后返回 vs code go 扩展设置编辑器并将其添加到以下行,*settings.json 编辑器可以在“在 settings.json 中编辑”链接下的“扩展设置”下找到。 *

{
    "window.zoomlevel": -3,
    "editor.tabcompletion": "on",
    "go.autocompleteunimportedpackages": true,
    "go.installdependencieswhenbuilding": true,
    "go.usecodesnippetsonfunctionsuggest": true,
    "go.usecodesnippetsonfunctionsuggestwithouttype": true,
    "go.formattool": "gofmt",
    "go.gocodeautobuild": true,
    "go.uselanguageserver": true,
    "go.goroot": "/your goroot path",
    "go.delveconfig": {
    
    }
    
}

通过设置以下标签,问题将会消失,

"go.autocompleteUnimportedPackages": true,
    "go.goroot": "/Your GoRoot Path",
    "editor.tabCompletion": "on",
    "go.useLanguageServer": true,

希望这些信息有帮助。

以上就是《golang 片段/自动填充在 vs code 中不可用》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>