Use*_*645 2 go visual-studio-code
我的 vscode 没有检测到 golang 中的错误。
例子:
package somepackage
import "fmt"
func f(name string) string {
name = 1
return name
}
Run Code Online (Sandbox Code Playgroud)
这应该会引发类型错误,但事实并非如此。我从来没有收到任何错误。
我的settings.json包含
"go.gopath": "some/path",
"go.vetOnSave": "package",
"go.lintOnSave": "package",
"go.testOnSave": true,
"go.buildOnSave": "package",
"go.coverOnSave": true
Run Code Online (Sandbox Code Playgroud)
我能够跑了go: install/update Tools。所有工具均已成功安装。
我还可以在 vscode 中运行调试 .go 文件。
正如@pwaterz 指出的,我的问题的解决方案是添加"go.goroot: /some/other/path".
vscode 无法检测错误的原因是,我的电脑上有不同的 go 版本。添加goroot并运行go: install/update Tools解决了问题。
---- 编辑:多个 go 版本 ----
我的 Mac 上有多个相互冲突的 go 版本,通过 brew 引入。修复了重新安装的问题。
brew uninstall go.bash_profile。比较一下这里。source .bash_profilesettings.json集合中"go.goroot": "/usr/local/go"go: Toggle workspace trust space以确保settings.json应用更改(您必须信任您的工作区)go: Install/update tools并选择全部---- 编辑:根文件夹不正确 ----
确保打开项目的根文件夹而不是项目的子文件夹。否则可能会导致无效的导入路径
---- 编辑:语言服务器损坏 ----
go: restart language servergo mod tidy并重试