• 通过go.gopath设置


在vscode的该用户设置中设置会覆盖系统的GOPATH,在工作区的该项设置会覆盖用户设置。你可以在该选项中设置您的GOPATH为多个目录,在windows中使用;进行分隔,其他系统使用:进行分分隔。

  • 通过go.inferGopath设置


通过该选项设置GOPATH会覆盖go.gopath的参数设置。如果go.gopath被设置为true,扩展将工作区(比如当前打开的文件夹)进行GOPATH推断,搜索规则是,搜索包含src子目录的文件夹,并同时将该文件夹追加到GOPATH。
比如你的项目为/aaa/bbb/ccc/src/...,使用VS Code打开目录 /aaa/bbb/ccc/src(或者其下任意文件),Vs Code的Go扩展将向上搜索,直到搜索到src目录为止,并将您的GOPATH设置为src上一级GOPATH=/aaa/bbb/ccc。该选项在使用多个GO项目并且包含多个GOPATH的时候相当实用。您只需设置 go.inferGopathtrue即可,无需通过;:分隔多个路径的方式来设置GOPATH。

  • 设置Go tools工具的设置—使用go.toolsGopath


当您运行 go get时,Go tools将安装到您当前系统的GOPATH。如果您不想让这些安装到您的GOPATH以免看起来有点杂乱,请使用 go.toolsGopath 来设置一个专门用来存放Go tools的独立目录。
当您第一次设置该项目值时,请打开命令面板,运行Go: Install/Update Tools 来下载和更新Go tools到您的指定目录。
如果go.toolsGopath 没有进行设置或者Go tools没有进行安装,那么扩展将使用前文提到的几种选项中的GOPATH。如果在这些目录仍然没有找到Go tools,那么扩展将在系统的PATH环境变量中进行查找。
原文链接 github