欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《VS Code:模块和 GOPATH 的使用和设置》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
我最近重新安排了 vs code 工作区。在重新安排之前,我对 go 模块和 $gopath 都没有任何问题。现在我采用了备受喜爱的六边形项目布局,因为我发现它很有组织性,而且我比以前更喜欢它。我在 $gopath 的 src 子目录中创建了项目子目录。现在,每当我在此项目子目录中创建新项目文件时,vs code 都会显示以下消息:“您既不在模块中,也不在 gopath 中。如果您使用模块,请在包含 go.txt 文件的目录中打开编辑器。 mod。如果您认为此警告不正确,请提交问题:https://github.com/golang/go/issues/new。”。我不知道如何解决这个问题,希望得到任何帮助或反馈!对我来说奇怪的是我可以运行go run
而没有任何问题。
只是为了澄清我的工作区设置为: $gopath\src\projects\cmd、internal、pkg ,我尝试运行的 main.go 文件位于 cmd\project1\main.go 中
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
解决方案
您是否正在开发 monorepo,如果是,则 go 语言服务器无法正常工作。您需要在该项目路径上打开一个 vscode 工作区
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。