当前位置:  开发笔记 > 编程语言 > 正文

为每个vscode项目设置`GOPATH`

如何解决《为每个vscode项目设置`GOPATH`》经验,为你挑选了2个好方法。

GOPATH变量global 设置为环境变量可以正常使用Visual Studio Code.

但是在全球范围内设置项目特定变量对我来说似乎并不是很好.考虑到你有多个Go项目,每次你需要更改这个变量,编译,调试......等项目.

是否有可能GOPATH在Visual Studio Code 中将变量设置为项目变量?醚settings.json还是launch.json



1> VonC..:

(2018年第二季度:请注意,对于vgo项目,GOPATH最终可能会弃用以支持基于项目的工作流程.这将避免GOPATH我在两年前提出的基于项目的手动建议)

使用Go 1.11(2018年8月),GOPATH可以选配模块.

VSCode越来越支持它:

vscode-go/issue 1532

" 在Visual Studio代码中转到模块支持 "


除了vendor文件夹之外,GOPATH每个项目仍然可以有一个.

请参见" GOPATH来自go.inferGopath设置 ":

GOPATHgo.inferGopath设置

设置go.inferGopath会覆盖以上所有内容.
如果go.inferGopath设置为true,则扩展将尝试推断GOPATH工作空间的路径,即在vscode中打开的目录.它在src目录的路径中向上搜索,并设置GOPATH为高于该目录的一个级别.

例如,如果您的项目看起来像/aaa/bbb/ccc/src/...,那么打开目录/aaa/bbb/ccc/src(或其下面的任何内容)将导致扩展程序向上搜索,src在路径中找到组件,并将其设置为GOPATH高于该级别的一个级别,即GOPATH=/aaa/bbb/ccc.

当您处理具有不同GOPATHs的不同Go项目时,此设置很有用.您可以设置为并且扩展名自动使用右侧,而不是GOPATH在每个项目的工作区设置中设置或将所有路径设置为;/:分隔的字符串. go.inferGopathtrueGOPATH

GOPATH 用于安装Go工具 go.toolsGopath

默认情况下,所有依赖的Go工具都是GOPATH从上面的逻辑派生出来的.
如果它们可用PATH,PATH则用于定位Go工具.
如果Go工具不在您的路径中,您最终可能会在每个工具中安装相同的Go工具GOPATH.
要防止Go工具混乱GOPATH,请使用该go.toolsGopath设置为Go工具提供单独的位置.

第一次设置go.toolsGopath时,您必须运行Go: Install Tools命令,以便Go工具安装在提供的位置.



2> 小智..:

GOPATH是您的工作区,分为

GOPATH/
    |- bin/
    |- pkg/
    |- src/ <--- your projects are saved here
        |- .../my_project1
        |- .../my_project2

通过这种分离,您无需为每个项目设置新的GOPATH。我建议您阅读如何编写Go代码


当您具有使用不同语言的不同项目的解决方案时,这还不够。
考虑到您正在编写的每个微服务的应用程序中,每个微服务都以“ Go”编写,其他都以“ C ++”,“ JavaScript”编写,无论如何。然后您的工作区树看起来很奇怪...
推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有