0

我最近重新安排了我的 VS Code 工作区。在重新排列之前,我对 Go 模块和 $GOPATH 都没有问题。现在我采用了深受喜爱的六边形项目布局,因为我发现它很有条理,而且我比以前更喜欢它。我在 $GOPATH 的 src 子目录中创建了我的项目子目录。现在,每当我在此项目子目录中创建新项目文件时,VS Code 都会向我显示以下消息:“您既不在模块中,也不在 GOPATH 中。如果您正在使用模块,请在包含 go 的目录中打开您的编辑器。 mod. 如果您认为此警告不正确,请提交问题:https ://github.com/golang/go/issues/new.". 我不知道如何解决这个问题,希望得到任何帮助或反馈!我觉得奇怪的是,我可以go run毫无问题地运行。

只是为了澄清我的工作区设置为: $GOPATH\src\projects\cmd, internal, pkg 并且我要运行的 main.go 文件位于 cmd\project1\main.go

去环境结果:

set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Niccolo\AppData\Local\go-build
set GOENV=C:\Users\Niccolo\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\Niccolo\code\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\Niccolo\AppData\Local\Temp\go-build787404170=/tmp/go-build -gno-record-gcc-switches
4

1 回答 1

0

您是否正在开发 monorepo,如果是,go 语言服务器无法正常工作。您需要在该项目路径上打开一个 vscode 工作区

于 2021-03-10T22:56:49.867 回答