我的 vscode 没有检测到 golang 中的错误。
示例:
package somepackage
import "fmt"
func f(name string) string {
name = 1
return name
}
这应该会引发类型错误,但实际上并没有。我从来没有得到任何错误。
我的 settings.json
包含
"go.gopath": "some/path",
"go.vetOnSave": "package",
"go.lintOnSave": "package",
"go.testOnSave": true,
"go.buildOnSave": "package",
"go.coverOnSave": true
我能够运行 go: install/update Tools
。所有工具安装成功。
我还能够在 vscode 中运行调试 .go 文件。
最佳答案
正如@pwaterz 所指出的,我的问题的解决方案是添加 "go.goroot:/some/other/path"
。
vscode 无法检测到错误的原因是我的计算机上有不同的 go 版本。添加 goroot 并运行 go: install/update Tools
解决了问题。
----编辑:多个go版本----
我的 Mac 上有多个冲突的 go 版本,通过 brew 引入。修复了重新安装的问题。
- Uninstall go并运行
brew uninstall go
- Reinstall go
- 在您的
.bash_profile
或类似文件中设置环境变量。比较 here . - 通过运行例如将更改应用于您的个人资料
源.bash_profile
- 重启 VSCode
- 在
settings.json
中设置"go.goroot": "/usr/local/go"
- 运行
go: Toggle workspace trust space
以确保应用对settings.json
的更改(为此您必须信任您的工作空间) Go:安装/更新工具
并全选
---- 编辑:不正确的根文件夹----
确保您打开的是项目的根文件夹,而不是项目的子文件夹。否则可能会导致导入路径无效
---- 编辑:损坏的语言服务器----
- 尝试运行
go: restart language server
- 您可能会看到 Error loading workspace
- 运行
go mod tidy
并重试
关于go - vscode 不检测错误 golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55578280/