美文网首页
使用VSCode作为Golang开发环境前你需要知道的事

使用VSCode作为Golang开发环境前你需要知道的事

作者: 小餐包 | 来源:发表于2022-03-26 10:23 被阅读0次

    环境变量

    GOROOT

    GOROOT 环境变量用来定义Go SDK的安装位置,除非你想使用不同版本的Go,通常情况下我们是不需要更改这个环境变量的值的。在MacOS上,它的默认位置是 /usr/local/go (Windows系统上是 c:\Go ), 假如你是通过HomeBrew来安装Go的话,那么它的默认安装位置是/usr/local/Cellar/go/。此时,你将需要配置如下环境变量:

    export GOROOT=/usr/local/Cellar/go/{version}
    export PATH=$PATH:$GOROOT/bin
    

    GOPATH

    GOPATH 环境变量用来定义你工作空间的根目录。在Linux和MacOS上,它的默认值是
    ~/go(在Windows上则是%USERPROFILE%/go). GOPATH 存储了你的开发代码以及其依赖的其他文件。你可以通过配置这个值来自定义你的工作空间目录,这个目录下通常存在三个子目录,其用途如下:

    • src/: 存放Go源代码;
    • pkg/: 存放编译过的包代码;
    • bin/: 存放编译过的可执行文件;

    注意:官方在Go 1.13之后推出了Go modules项目作为Go的包依赖管理解决方案,对于使用go mod来管理包依赖的项目已经不再需要关注这个环境变量了,这是更优雅的解决方案,建议有条件的项目都尽早迁移到go mod上。

    GOMOD

    该变量表示的是 go.mod文件所在目录的绝对路径. 当开启module-aware模式时,而当前目录又不存在go.mod文件时, GOMOD 值会被设置为"/dev/null"( 在Windows上,则为"NUL"). 当关闭module-aware模式时,GOMOD 的值将是一个空字符串。
    我们通常无需手动设置这个变量值,因为go tool会在项目的根目录找到 go.mod 文件后主动设置其值为正确的位置。

    VSCode配置

    如下配置主要针对使用GOPATH的老项目而言,新项目建议无脑使用GOMOD

    自动推导 GOPATH

    注意: 该功能仅在 GOPATH 模式下生效, GOMOD模式下无效,并且注意go.inferGopath 配置会覆盖 go.gopath 配置。

    简单说,打开这个功能后,IDE会递归搜索当前工作目录的上级目录直到找到
    src 目录,然后将src目录的上级目录作为GOPATH,举个栗子,假设你配置了你的GOPATH$HOME/go,对于如下目录结构的项目:

    foo/
    └── bar
        └── src
            └── main.go
    

    如果你将 foo 目录作为你工作空间的根目录,那么 "go.inferGopath" 会自动将GOPATH 的值设置为 $HOME/go:/path/to/foo/bar.

    这个设置非常有用,因为对于不使用GOMOD的项目,你将无需为这类项目单独配置 GOPATH

    将工具包安装到另外的目录 GOBIN

    如果你频繁的切换你的 GOPATH,当在VSCode中打开这些新项目时拓展经常会提示你安装Go-Tools。对此,你可以通过将工具包的路径加到PATH里来解决这个问题。又或者,你可以通过 GOBIN来指定所有这些二进制工具包的安装位置配,配置如下:

    "go.toolsEnvVars": {
        "GOBIN": "path/to/gobin"
    }
    
    

    参考文档

    相关文章

      网友评论

          本文标题:使用VSCode作为Golang开发环境前你需要知道的事

          本文链接:https://www.haomeiwen.com/subject/jrnjjrtx.html