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
ctrl+shift+x 打开插件拓展中心,安装Chinese(中文插件,需重启Vscode),Go插件
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/ 目录
打开终端输入
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 查看是否改变成功
在Gopath下建立三个文件夹
bin //文件夹存放go install命令生成的可执行文件,
pkg //文件夹是存在go编译生成的文件。
src //存放的是我们的go源代码,不同工程项目的代码以包名区分
打开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
但是又遇到以下问题
后来发现虚拟机没有安装git,安装git后在终端还是失败,但是在vscode终端成功了,可能是github的原因
更正:没有修改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 主题颜色