UOS系统VS Code配置Go环境

目录

前言

目前go语言的IDE目前最好用的是JetBrain的GoLand,但是,是收费的,免费的只有30天的试用期。
个人觉得,IDE用的最多的可能是自动补全、调试环境,特别是补全。
用过VS Code的同学应该知道它完全免费、支持插件。里面就有Go语言的插件,所以,VS Code + Go插件 + Go工具可以很好的替代GoLand。
我这里是以UOS这个linux系统举例说明。

环境配置

安装VS Code

很简单,在应用商店搜索visual studio code安装即可。
在这里插入图片描述

安装Go

在这里https://golang.google.cn/dl/下载Go语言包
在这里插入图片描述
我的机器是64位,这里就直接选择编译好的Linux版本。当然你也可以选择下载源码编译安装。
下载下来后,在终端执行下面这条命令将环境安装到/usr/local/go目录下:
sudo tar -C /usr/local -xzvf go1.14.4.linux-amd64.tar.gz
然后修改环境变量将/usr/local/go/bin加到PATH中,我这里是只给当前用户配置,所以加到~/.bashrc中:
vim ~/.bashrc

export GO_PATH=/usr/local/go
export PATH=$PATH:$GO_PATH/bin

然后执行source ~/.bashrc让配置生效。
在终端试下输入go version命令,如果出现帮助输出,那就是安装没问题

halo@halo:Desktop$ go version
go version go1.14.4 linux/amd64

我们写一个小demo试下:
vim main.go
这里安利下vim youcompleteme插件,下面的代码是vim插件自动生成的。

package main

import "fmt"

func main(){
    fmt.Println("Hello, World!")
}

编译一下:
go build main.go
没有报错,运行:

halo@halo:0.begin$ ./main 
Hello, World!

配置go环境

在VS code插件栏搜索Go,安装Go插件。
在这里插入图片描述
然后,按住快捷键CTRL+SHIFT+P,输入Go,选择 Go: Locate Configured Go Tools
在这里插入图片描述
回车,检测go环境,输出如下:
在这里插入图片描述
可以看到缺很多工具。
如果能翻墙的话,在vs code中打开一个go文件,右下角就会提示缺少插件,点击install all即可;
如果不能翻墙,那只能一个一个从git下载,然后git install安装。

下面我们大概介绍下各个工具的用途和安装方法:

gocode

用于支持代码自动补全

halo@halo:5.go$ go get -u -v github.com/nsf/gocode
github.com/nsf/gocode (download)
created GOPATH=/home/halo/go; see 'go help gopath'
github.com/nsf/gocode

在使用go get获取工具代码时,会在home目录创建go目录,目录下的src用于存放下载的源码,bin用于存放编译出的工具

halo@halo:go$ go install github.com/nsf/gocode
halo@halo:go$ ls bin/
gocode

注意go install后直接带git路径即可,安装完成后可以看到bin目录下生成了gocode程序。
然后我们再在vscode执行Go: Locate Configured Go Tools检测go环境时发现gocode已安装:
在这里插入图片描述

gopkgs

用于快速列出可导入的包

go get lsgithub.com/tpng/gopkgs
go install github.com/tpng/gopkgs
go-outline

用于在Go源文件中提取声明的JSON表示形式

go get github.com/lukehoban/go-outline
go install github.com/lukehoban/go-outline
go-symbols

用于从go源树中提取包符号的JSON表示形式
安装这个之前,需要先下载buildutil,这个包比较大要多等一会儿

# 下载buildutil
go get github.com/golang/tools
# 然后改名
mkdir ~/go/src/golang.org
mkdir ~/go/src/golang.org/x
cp ~/go/src/github.com/golang/tools/ -rf ~/go/src/golang.org/x/

然后下载安装go-symbols

go get github.com/acroca/go-symbols
go install github.com/acroca/go-symbols
guru

回答有关Go源代码问题的工具,比如标识符在哪里声明之类的
需要先下载mod、xerror这两个包

git clone https://github.com/golang/mod.git src/golang.org/x/mod
git clone https://github.com/golang/xerrors.git src/golang.org/x/xerrors

guru包在下载buildutil时已下载,只需要安装

go install golang.org/x/tools/cmd/guru
gorename

重构工具,用于修改变量名之类的
gorename包在下载buildutil时已下载,只需要安装

go install golang.org/x/tools/cmd/gorename
gotests

单元测试框架

go get github.com/cweill/gotests
go install github.com/cweill/gotests/gotests
gomodifytags

用于修改/更新结构中的字段标签

go get github.com/fatih/gomodifytags
go install github.com/fatih/gomodifytags
impl

用于生成接口实现的函数体

go get github.com/josharian/impl
go install github.com/josharian/impl
fillstruct

用默认值填充结构字面值

go get github.com/davidrjenni/reftools
go install github.com/davidrjenni/reftools/cmd/fillstruct
goplay

Go Playground (https://play.golang.org/) 客户端,Go Playground是一个在线的、可以运行Go语言代码的、可以分享Go语言代码的平台

go get github.com/haya14busa/goplay/cmd/goplay
go install github.com/haya14busa/goplay/cmd/goplay
godoctor

一个go语言重构工具

go get github.com/godoctor/godoctor
go install github.com/godoctor/godoctor
gocode-gomod

gocode-gomod与之前的gocode编出来的程序都叫gocode,所以安装前,需要将之间安装的gocode换成gocode1,安装玩这个后改名为gocode-gomod,再把gocode1改回gocode

go get github.com/stamblerre/gocode
mv ~/go/bin/gocode ~/go/bin/gocode1
go install github.com/stamblerre/gocode
mv ~/go/bin/gocode ~/go/bin/gocode-gomod
mv ~/go/bin/gocode1 ~/go/bin/gocode
godef

用于在源码中查询符号信息

go get github.com/rogpeppe/godef
go install github.com/rogpeppe/godef
goreturns

该工具将零值返回值添加到不完整的Go return语句中,以节省编写Go时的时间

go get github.com/sqs/goreturns
go install github.com/sqs/goreturns
golint
go get github.com/golang/lint
mv ~/go/src/github.com/golang/lint ~/go/src/golang.org/x
go install golang.org/x/lint/golint
godlv

调试器

go get github.com/go-delve/delve/cmd/dlv
go install github.com/go-delve/delve/cmd/dlv

到此,所有的包都装好了,检测如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值