gpt4 book ai didi

go - 为什么 Golang Intellisense 在 VS Code 中更改导入时速度很慢?

转载 作者:行者123 更新时间:2023-12-02 07:30:51 36 4
gpt4 key购买 nike

我在 VS Code 设置中安装了 ms-vscode.go Go 扩展,并且正在使用 gopls 语言服务器。语言服务器似乎在智能感知操作中表现良好,除非我正在编辑导入,此时存在相当大的延迟,因为对导入的每次编辑都需要几秒钟的时间来更新。

例如,以下是手动逐个字母输入import“net/http”的重播(而不是复制/粘贴)。该剪辑以 20 倍速运行,因此从我停止输入 import 语句到语言服务器收到 “net/http”已导入但未使用 的正确错误大约需要 1.8 分钟:

enter image description here

我做错了什么吗?

我的go相关设置:

  "go.useLanguageServer": true,
"go.alternateTools": {
"go-langserver": "gopls"
},

gopls 的输出显示,在 go list 上花费了很多时间:

4.037297s for ...go "list" "-e" "-json" "-compiled=true" "-test=true" "-export=false" "-deps=true" "-find=false" "--" ...

每次更改。

最佳答案

这可能是因为:

2020 年 1 月和 gopls 0.3.0 之前,您可以在模块模式下使用 Go 1.13 尝试使用 saibing/tools 看看问题是否仍然存在。

git clone https://github.com/saibing/tools
cd tools/gopls
go install

确保您的 ~/go/bin(使用默认的 GOPATH)确实显示具有最新时间戳的新 gopls 可执行文件。

然后重新启动 VSCode。

注:microsoft/vscode-go issue 2484 (“Go:使用 Go 模块时自动完成未导入的包”功能”)也刚刚得到解决(2020 年 1 月):

Enabling the setting go.autocompleteUnimportedPackages used to provide completions for unimported packages.
When such a completion item was selected by the user, not only was the current word completed, but an import statement is added in the file for that package.

现在它可以与 Go 模块一起使用。

同样,gopls 0.3.0 应该会有所帮助。

<小时/>

我的 gopls 设置:

"gopls": {
"usePlaceholders": true, // add parameter placeholders when completing a function
"enhancedHover": true, // experimental to improve quality of hover (will be on by default soon)
},

而且:

"[go]": {
"editor.snippetSuggestions": "none",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
},
"go.lintTool": "golangci-lint",
"go.useLanguageServer": true,
"go.languageServerExperimentalFeatures": {
"format": true,
"autoComplete": true
},

关于go - 为什么 Golang Intellisense 在 VS Code 中更改导入时速度很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57908205/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com