使用自定义 GOPATH 和 govendor 在 Goland IDE 中没有 stdlib 提示
no stdlib hinting in Goland IDE with custom GOPATH and govendor
我将 Goland 2017.3 与 Go 1.9.2 一起使用,并且有一个带有复制 DigitalOcean monorepo 的 govendor 的自定义 GOPATH,如此处解释:https://blog.digitalocean.com/cthulhu-organizing-go-code-in-a-scalable-repo/
结构如下所示:
gocode
├── .env.sh
├── bin
├── src
│ └── acmecorp
│ ├── teams
│ └── vendor
├── pkg
和 .env.sh
看起来像这样:
SCRIPT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "[=12=]"`
GOCODE=$(dirname $SCRIPT)
export GOPATH="$GOCODE"
export PATH="$PATH:$GOPATH/bin"
我使用 source .env.sh
和 govendor build
构建代码没有问题。 govendor
解决所有依赖关系并构建项目。
但是,当我尝试在 GoLand 中设置 GOPATH
并将 PROJECT GOPATH
设置为 $HOME/gocode
时,GoLand 停止识别标准库,因为它开始在 [=20] 中寻找标准库=]:$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files
。如果我删除 PROJECT GOPATH
它会找到标准库,但不会找到单声道存储库中的代码。
如何让 GoLand 停止在 vendor
中查找标准库?
编辑:GOROOT
在 IDE 中保持为标准:screenshot of GOROOT
请在 tracker tracker https://youtrack.jetbrains.com/issues/Go 上提出问题并通过帮助 | 附上 IDE 日志收集并显示日志...。您可以将日志的可见性锁定为 jetbrains-team
和 GoLand team
,以便日志不可公开访问。
这看起来像是 IDE 中的错误或您这边的配置问题,但如果没有日志,很难分辨是哪一个。谢谢你。
我将 Goland 2017.3 与 Go 1.9.2 一起使用,并且有一个带有复制 DigitalOcean monorepo 的 govendor 的自定义 GOPATH,如此处解释:https://blog.digitalocean.com/cthulhu-organizing-go-code-in-a-scalable-repo/
结构如下所示:
gocode
├── .env.sh
├── bin
├── src
│ └── acmecorp
│ ├── teams
│ └── vendor
├── pkg
和 .env.sh
看起来像这样:
SCRIPT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "[=12=]"`
GOCODE=$(dirname $SCRIPT)
export GOPATH="$GOCODE"
export PATH="$PATH:$GOPATH/bin"
我使用 source .env.sh
和 govendor build
构建代码没有问题。 govendor
解决所有依赖关系并构建项目。
但是,当我尝试在 GoLand 中设置 GOPATH
并将 PROJECT GOPATH
设置为 $HOME/gocode
时,GoLand 停止识别标准库,因为它开始在 [=20] 中寻找标准库=]:$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files
。如果我删除 PROJECT GOPATH
它会找到标准库,但不会找到单声道存储库中的代码。
如何让 GoLand 停止在 vendor
中查找标准库?
编辑:GOROOT
在 IDE 中保持为标准:screenshot of GOROOT
请在 tracker tracker https://youtrack.jetbrains.com/issues/Go 上提出问题并通过帮助 | 附上 IDE 日志收集并显示日志...。您可以将日志的可见性锁定为 jetbrains-team
和 GoLand team
,以便日志不可公开访问。
这看起来像是 IDE 中的错误或您这边的配置问题,但如果没有日志,很难分辨是哪一个。谢谢你。