本文默認(rèn)已經(jīng)安裝好Go語(yǔ)言開發(fā)包以及VScode軟件
# 1 - 系統(tǒng)環(huán)境
系統(tǒng)/用戶環(huán)境變量
- GOROOT Go 源碼存放目錄茬祷,如果是msi 安裝包則默認(rèn)為 c:/go。
-
GOPATH Go 項(xiàng)目/工程的工作區(qū)意推,它包含 3 個(gè)主要目錄(目錄名均為小寫)
- bin 編譯/構(gòu)建后笛厦,可執(zhí)行文件目錄铆铆。(Executable File)
- pkg 歸檔文件目錄。(Archive File)
- src 項(xiàng)目/工程的源碼文件目錄傀顾。(Source File)
- GOCACHE Go 命令將在其中存儲(chǔ)緩存信息以供將來生成時(shí)重復(fù)使用的目錄襟铭。
-
GOTMPDIR Go 命令將在其中寫入臨時(shí)源文件、軟件包和二進(jìn)制文件的目錄短曾。
這里就不重復(fù)說明如何配置 Go 開發(fā)環(huán)境了寒砖。
2 - GoProxy 配置
由于國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境限制,建議先配置GoProxy
環(huán)境變量嫉拐,當(dāng)然不配置也行哩都,你能正常訪問 golang.org/ 網(wǎng)址也行。\
推薦使用
go mod
管理項(xiàng)目
在安裝好Go
運(yùn)行環(huán)境后婉徘,Windows
系統(tǒng)可以打開cmd
或者powershell
(macOS
和Linux
系統(tǒng)打開終端)漠嵌,分別輸入以下命令
# 啟用 go mod
go env -w GO111MODULE=on
# 設(shè)置 Go Proxy 代理
go env -w GOPROXY=https://goproxy.io,direct
3 - VScode 安裝 Go 插件
我的已經(jīng)安裝過了,安裝時(shí)正常點(diǎn)擊右側(cè)的安裝按鈕即可
4 - VSCode 安裝 Go 工具包
Go 工具包包含了一些格式化盖呼、代碼檢查等功能
-
Ctrl+Shift+P
(Windows
環(huán)境)儒鹿,或者選擇 "查看" -> "命令面板"
image.png - 我們?cè)谶@個(gè)輸入框中輸入
>go:install
,下面會(huì)自動(dòng)搜索相關(guān)命令几晤,我們選擇Go:Install/Update Tools
這個(gè)命令
image.png - 選中并會(huì)回車執(zhí)行該命令(或者使用鼠標(biāo)點(diǎn)擊該命令)
VS Code此時(shí)會(huì)下載并安裝上圖列出來的16個(gè)工具约炎,但是由于國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境基本上都會(huì)出現(xiàn)安裝失敗,如出現(xiàn)各種FAILED
有兩種方法解決這個(gè)問題:
5.1 方法一:使用git下載源代碼再安裝
我們可以手動(dòng)從github上下載工具蟹瘾,(執(zhí)行此步驟前提需要你的電腦上已經(jīng)安裝了git)
第一步:現(xiàn)在自己的GOPATH
的src
目錄下創(chuàng)建golang.org/x
目錄
第二步:在終端/cmd
中cd
到GOPATH/src/golang.org/x
目錄下
第三步:執(zhí)行git clone https://github.com/golang/tools.git tools
命令
第四步:執(zhí)行git clone https://github.com/golang/lint.git
命令
第五步:按下Ctrl/Command+Shift+P
再次執(zhí)行Go:Install/Update Tools
命令圾浅,在彈出的窗口全選并點(diǎn)擊確定,這一次的安裝都會(huì)SUCCESSED
了憾朴。\
git clone https://github.com/golang/tools.git tools
go install github.com/ramya-rao-a/go-outline
go install github.com/cweill/gotests/gotests
go install github.com/josharian/impl
go install github.com/acroca/go-symbols
go install golang.org/x/tools/cmd/guru
go install golang.org/x/tools/cmd/gorename
go install github.com/rogpeppe/godef
go install github.com/sqs/goreturns
go install github.com/golang/lint/golint
經(jīng)過上面的步驟就可以安裝成功了狸捕。
5.2安裝失敗解決辦法 使用go mod 代理安裝
# Go 1.13 及以上(推薦)
# Windows執(zhí)行
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
# Windows PowerShell 執(zhí)行
$env:GO111MODULE = "on"
$env:GOPROXY = "https://goproxy.cn"
# macOS 或 Linux 執(zhí)行
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
# 或者 macOS 或 Linux 執(zhí)行
echo "export GO111MODULE=on" >> ~/.profile
echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
source ~/.profile
手動(dòng)安裝
golang.org/x/
- 首先進(jìn)入
GOPATH
目錄, 如果不知道在哪众雷, 使用go env
可以查看 - 然后進(jìn)入到
src/golang.org/x/
目錄灸拍, 如果沒有可自行創(chuàng)建mkdir -p src/golang.org/x
分別將支持包 clone 下來。
git clone https://github.com/golang/tools.git (工具集以及包源代碼)
git clone https://github.com/golang/lint.git (lint 大家都不陌生了)
git clone https://github.com/golang/mod.git (mod 模塊支持)
git clone https://github.com/golang/xerrors.git (錯(cuò)誤值轉(zhuǎn)換包)
git clone https://github.com/golang/net.git
之后進(jìn)入到 GOPATH
根目錄报腔; 使用 go get -u -v
命令將以上失敗中的 github.com 相關(guān)的命令執(zhí)行一遍
go get -u -v github.com/mdempsky/gocode
go get -u -v github.com/uudashr/gopkgs/v2/cmd/gopkgs
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v github.com/cweill/gotests/...
go get -u -v github.com/fatih/gomodifytags
go get -u -v github.com/josharian/impl
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/godoctor/godoctor
go get -u -v github.com/go-delve/delve/cmd/dlv
go get -u -v github.com/stamblerre/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/sqs/goreturns
無法正常使用 go get 安裝時(shí)使用 clone 并通過 go install 方式安裝株搔,注意要在 %GOPATH% 下使用命令剖淀。
go get -u -v github.com/sqs/goreturns (無法正常安裝時(shí)使用以下命令)
git clone https://github.com/sqs/goreturns.git
go install github.com/sqs/goreturns.git
go get -u -v github.com/josharian/impl (無法正常安裝時(shí)使用以下命令)
git clone https://github.com/josharian/impl.git
go install github.com/josharian/impl (該支持模塊只支持 x64 版本纯蛾,千萬注意系統(tǒng)版本和 Golang 版本)
go get -u -v github.com/go-delve/delve/cmd/dlv (無法正常安裝時(shí)使用以下命令)
git clone https://github.com/go-delve/delve.git (go-delve 目錄需要手動(dòng)創(chuàng)建,然后將 delve 放進(jìn)去)
go install github.com/go-delve/delve/cmd/dlv
gocode使用說明
go 語(yǔ)法與自動(dòng)補(bǔ)全纵隔,gocode-gomod 需要使用 VS Code 提示安裝完成翻诉。
https://github.com/stamblerre/gocode.git (支持模塊炮姨,目前該模塊有問題,不建議使用)
go get -u -v github.com/stamblerre/gocode
https://github.com/mdempsky/gocode.git (Go > 1.8 不支持模塊)
go get -u -v github.com/mdempsky/gocode
https://github.com/nsf/gocode.git (舊版本碰煌,且不再維護(hù))
go get -u -v github.com/nsf/gocode
其他包 (install || import)
需要 install 或者 import 來進(jìn)行使用舒岸,但更推薦使用 install 方式。安裝方式同上芦圾。
git clone https://github.com/golang/net.git (網(wǎng)絡(luò)包)
git clone https://github.com/golang/sync.git (同步/原子包)
git clone https://github.com/golang/crypto.git (加密包)
git clone https://github.com/golang/debug.git (debug 工具包)
git clone https://github.com/golang/oauth2.git (oauth2 認(rèn)證包)
git clone https://github.com/golang/protobuf.git (protobuf 協(xié)議包)
以上為額外的且常用的一些功能的源碼擴(kuò)展包蛾派,如有需要可以考慮使用,當(dāng)然也可以使用第三方包實(shí)現(xiàn)个少。
F5 調(diào)試運(yùn)行
{
"version": "0.2.0",
"configurations": [
{
"name": "GoLaunch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 6666,
"host": "127.0.0.1",
"program": "${fileDirname}//main.go", // 將 main.go 換成你的文件名
"env": {
"GOPATH": "D:/Go/workplace/", // 你的GOPATH
"GOROOT": "D:/Go/" // GOROOT洪乍,GO的安裝目錄
},
"args": [],
//"showLog": true
}
]
}
第一個(gè)GO程序
在D:/Go/workplace/的src目錄下,創(chuàng)建test子目錄
2夜焦、在vs code中打開test子目錄
3壳澳、在vs code中新建一個(gè)文件,保存為test.go
4茫经、在cmd狀態(tài)下巷波,在test子目錄,輸入go run test.go同樣卸伞,能看到程序運(yùn)行結(jié)果\
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
補(bǔ)充內(nèi)容
- guru 和 gogetdoc 都是代碼描述提示抹镊,建議使用 gogetdoc
- godoctor 可以使用是 golint
- goimports 和 goreturns 是格式化和包引用管理,建議使用 goreturns
至此 VSCode 配置Go語(yǔ)言開發(fā)環(huán)境荤傲,搭建完成髓考!
接下來就可以使用 VSCode 愉快的編寫 Go 代碼了!