Linux Golang+Vscode环境配置

1. Vscode下载与配置

1.1 官网下载.deb文件

https://code.visualstudio.com
进入下载deb文件所在文件夹,并打开终端
运行 sudo dpkg -i + 文件名

安装包的时候出现了一个异常
dpkg: error: dpkg frontend is locked by another process
原因是包管理器没有正确关闭。需要重启计算机或者重新打开终端 输入:
sudo apt-get install -f
sudo rm /var/lib/dpkg/lock-frontend
sudo apt-get install -f

1.2 Vscode插件安装

ctrl+shift+x 打开插件拓展中心,安装Chinese(中文插件,需重启Vscode),Go插件

2. Golang下载与环境配置

2.1 官网下载linux golang安装包

https://studygolang.com/dl 下载go1.17.8.linux-amd64.tar.gz(选择适合版本即可)
进入下载文件所在文件夹打开终端
运行 sudo tar -C /usr/local/ -xzvf go1.10.2.linux-amd64.tar.gz 命令解压到 /urs/local/ 目录

2.2 Golang环境配置

打开终端输入
vim ~/.bashrc 最后面添加上
export GOROOT=/usr/local/go //安装go所在文件夹
export GOPATH=/home/lv/studygo //你希望的Go工程文件夹,自己选择
export GOBIN= G O P A T H / b i n e x p o r t P A T H = GOPATH/bin export PATH= GOPATH/binexportPATH=PATH: G O R O O T / b i n : GOROOT/bin: GOROOT/bin:GOPATH/bin
最后执行source ~/.bashrc

go env -w GOPROXY=https://goproxy.cn,direct // 修改下载代理

运行 go env 查看是否改变成功
Linux Golang+Vscode环境配置_第1张图片
在Gopath下建立三个文件夹
bin //文件夹存放go install命令生成的可执行文件,
pkg //文件夹是存在go编译生成的文件。
src //存放的是我们的go源代码,不同工程项目的代码以包名区分

新建项目实例

1. 新建文件

打开Vscode,打开src文件夹,新建文件夹main,并在main下新建main.go 文件
此时会提示安装第三方包,直接安装会失败
因此需要自己安装
网上步骤如下,但是会遇到许多问题

1、在GOPATH目录下创建必要两个目录 $ mkdir -p github.com/golang $ mkdir -p
golang.org/x
2. 克隆golang官方的tools包到上一步创建的两个目录
> git clone https://github.com/golang/tools.git github.com/golang/tools
git clone https://github.com/golang/tools.git golang.org/x/tools

可能会出现如下问题:
在这里插入图片描述
在这里插入图片描述
博客说依次使用以下命令就可以正常使用

git config --global --unset http.proxy
git config --global --unset https.proxy

但是又遇到以下问题
Linux Golang+Vscode环境配置_第2张图片
后来发现虚拟机没有安装git,安装git后在终端还是失败,但是在vscode终端成功了,可能是github的原因
Linux Golang+Vscode环境配置_第3张图片
更正:没有修改GOPROXY,需要在设置go环境时一起修改,此时可以正常git clone
在此之前请先设置GOPROXY,打开终端执行以下命令:
go env -w GOPROXY=https://goproxy.cn,direct

安装第三方包
go install github.com/mdempsky/gocode@latest
go install github.com/uudashr/gopkgs/cmd/gopkgs@latest
go install github.com/ramya-rao-a/go-outline@latest
go install github.com/acroca/go-symbols@latest
go install golang.org/x/tools/cmd/guru@latest
go install golang.org/x/tools/cmd/gorename@latest
go install github.com/derekparker/delve/cmd/dlv@latest
go install github.com/rogpeppe/godef@latest
go install golang.org/x/tools/cmd/godoc@latest
go install github.com/sqs/goreturns@latest
go install github.com/golang/lint/golint@latest
go install github.com/cweill/gotests/gotests@latest
go install github.com/fatih/gomodifytags@latest
go install github.com/josharian/impl@latest
go install github.com/davidrjenni/reftools/cmd/fillstruct@latest
go install github.com/haya14busa/goplay/cmd/goplay@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
go install golang.org/x/tools/gopls@latest
go install golang.org/x/tools/cmd/goimports@latest

安装完成后就可以代码自动补全了
可以尝试在main.go里边输入

package main
import "fmt"

func main() {
	s1 := "hello"
	fmt.Println(s1)
}

推荐配置与插件

通过ctrl+shift+p 搜索配置用户代码片段,然后选择go(go.json)在这里可以通过设置方便用户编程
例如,如下所示,敲出pln+Enter,会自动变为fmt.Println()
“pln”:{
“prefix”: “pln”,
“body”: “fmt.Println($0)”,
“description”: “fmt.Println()”
},
“plf”:{
“prefix”: “plf”,
“body”: “fmt.Printf(”$0\n", )",
“description”: “fmt.Printf()”
},
“ifer”:{
“prefix”: “ifer”,
“body”: [“if err != nil {”,
“\t fmt.Println($0)”,
“}”],
“description”: “if err != nil”
}

推荐插件

Code Runner, 可以之间点击运行人不需要命令
Github Theme 主题颜色

你可能感兴趣的:(Golang,road,vscode,golang,linux)