tbh*_*man 5 go visual-studio-code
我ms-vscode.go在VS Code设置中安装了Go扩展程序,并且正在使用gopls语言服务器。语言服务器似乎在Intellisense操作中表现良好,除非我正在编辑导入,这时会有相当大的滞后,因为每次对导入的编辑都需要几秒钟的更新时间。
例如,以下是手动import "net/http"逐个字母键入(而不是复制/粘贴)的重放。该剪辑以20倍速运行,因此从我停止键入import语句到语言服务器出现以下正确错误,大约需要1.8分钟"net/http" imported but not used:
难道我做错了什么?
与我相关的设置:
"go.useLanguageServer": true,
"go.alternateTools": {
"go-langserver": "gopls"
},
Run Code Online (Sandbox Code Playgroud)
的输出gopls显示,您花费了大量时间go list:
"go.useLanguageServer": true,
"go.alternateTools": {
"go-langserver": "gopls"
},
Run Code Online (Sandbox Code Playgroud)
对于每一个变化。
这可能是因为:
go tools做saibing/tools做。saibing/tools在 2020 年 1 月和 gopls 0.3.0 之前,您可以尝试在模块模式下使用 Go 1.13,看看问题是否仍然存在。
git clone https://github.com/saibing/tools
cd tools/gopls
go install
Run Code Online (Sandbox Code Playgroud)
确保您的~/go/bin(使用默认值)确实显示带有最近时间戳的GOPATH新可执行文件。gopls
然后重新启动 VSCode。
注意:microsoft/vscode-go问题 2484(“Go:使用 Go 模块时自动完成未导入的包”功能)也刚刚得到解决(2020 年 1 月):
go.autocompleteUnimportedPackages启用用于为未导入的包提供补全的设置。
当用户选择这样的完成项时,不仅当前单词被完成,而且导入语句被添加到该包的文件中。
现在这适用于 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)
},
Run Code Online (Sandbox Code Playgroud)
但是也:
"[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
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |