vscode插件設置之Golang開發(fā)環(huán)境配置全過程
1、vscode安裝Go插件
2、vscode自動提示需要安裝插件,點擊install all
Tools environment: GOPATH=D:\go-project Installing 11 tools at D:\go-project\bin in module mode. gopkgs go-outline gotests gomodifytags impl goplay dlv dlv-dap staticcheck gopls goimports
安裝失敗,網絡原因??
3、另一種手動安裝插件的方式??
vscode
1. 快捷鍵: ctrl+shift+p
2. 輸入: Go install
3. 選擇Install/Update Tools
勾選安裝所有插件
這樣安裝跟點擊vscode提示安裝 install all是一樣的,不會成功
connection failed because connected host has failed to respond.
推薦兩個方法:
1、開vpn或者代理,讓它安裝成功
2、設置go proxy,然后去安裝vscode插件
4、設置goproxy代理
4.1、查看GO環(huán)境變量設置
go env
set GO111MODULE= set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\xiao\AppData\Local\go-build set GOENV=C:\Users\xiao\AppData\Roaming\go\env set GOEXE=.exe set GOEXPERIMENT= set GOFLAGS= set GOHOSTARCH=amd64 set GOMODCACHE=D:\go-project\pkg\mod set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=D:\go-project set GOPRIVATE= set GOPROXY=https://proxy.golang.org,direct set GOROOT=D:\apptools\go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=D:\apptools\go\pkg\tool\windows_amd64 set GOVCS= set GOVERSION=go1.17.2 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=NUL set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\xiao\AppData\Local\Temp\go-build12972845=/tmp/go-build -gno-record-gcc-switches
七牛云代理 Goproxy.cn
4.2、插話:GO111MODULE 的由來
簡單來說就是 影響到 Go項目 本地存放的位置(不受GOPATH的影響),后面會用到,這里不展開介紹,初學者先了解一下即可。
如其名字所暗示,GO111MODULE 是 Go 1.11 引入的新版模塊管理方式。之前的版本中,安裝的三方庫比如 go-cmp ,要求模塊存在于 GOPATH 下,否則編譯時會找不到。
GO111MODULE 是一個環(huán)境變量,可以在使用 go 更改 Go 導入包的方式時進行設置。
4.3、設置七牛云代理
$ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
設置完之后,查看
go env
set GO111MODULE=on set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\xiao\AppData\Local\go-build set GOENV=C:\Users\xiao\AppData\Roaming\go\env set GOEXE=.exe set GOEXPERIMENT= set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=D:\go-project\pkg\mod set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=D:\go-project set GOPRIVATE= set GOPROXY=https://goproxy.cn set GOROOT=D:\apptools\go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=D:\apptools\go\pkg\tool\windows_amd64 set GOVCS= set GOVERSION=go1.17.2 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=NUL set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\xiao\AppData\Local\Temp\go-build3442023997=/tmp/go-build -gno-record-gcc-switches
清空緩存 go clean --modcache
5、重新安裝vscode插件
重新打開vscode, 不打開工作目錄,直接在vscode的窗口里安裝插件
ctrl+shift+p
輸入: Go install
選擇Install/Update Tools
全選安裝插件,如圖安裝成功了
6、go path配置
1、gopath直接在環(huán)境變量中設置就可以了,不用單獨在vscode中設置
2、設置 Tools Gopath(設置全局工具安裝目錄,目的是更方便、清晰的管理工具?)
vscode中可以為在vscode中安裝的go tools設置一個單獨的目錄具體設置項為 Tools Gopath,使用ctrl+, 然后輸入tools gopath ,在下方填你想獨立存放剛才第二步安裝的工具的存放的地方了。
settings.json文件里新增以下配置, 設置go tools的全局安裝目錄
"go.toolsGopath": "D:\go-global-tools"
Location to install the Go tools that the extension depends on if you don't want them in your GOPATH. When specified as a workspace setting, the setting is used only when the workspace is marked trusted with "Go: Toggle Workspace Trust Flag".
7、go mod相關
如果你現(xiàn)在使用了go mod模式,就不用糾結配置幾個gopath的問題,只配置一個就好了。vscode的go mod支持需要啟用language server按ctrl+, (注意是ctrl + 英文狀態(tài)的逗號)調出配置界面,輸入go.lang
把 Use Language Server設置選中狀態(tài)即開啟了gopls了,這時vscode就會很好的支持go mod類型的項目了。
8、VsCode Go插件在Go項目中的正確配置
8.1、如何運行
如果是一個單獨的main.go這種,現(xiàn)在你的vscode應該可以工作了,但是在工程里面可能不行。
工程一般有2種 結構
一種是有src目錄,就是go 代碼放在工程目錄下面的src目錄下面,這就可能會導致一些項目不能正確加載,比如非go mod項目。
這時候在工程目錄下面建一個.vscode目錄,然后在.vscode目錄下面創(chuàng)建.settings.json文件
在里面設置gopath
如果你的main包不在src目錄下面,則需要設置cwd,也就是工作時切換到的目錄
這時候可以選中你的main.go,按ctrl+F5,start Without Debuging,開始運行了.
注意:說一點,如果是go mod的工程,這個gopath就不需要配置了.
9、如何Debug和運行
vscode里面正常的工程項目main包一般在cmd下面,不同的項目可能不同,但一定有一個main包。
9.1、創(chuàng)建 launch.json (運行項目)
選中你的main.go,按F5,這時就會彈出一個需要創(chuàng)建launch.json,點create a launch.json,直接默認的選中go,就會在.vscode目錄下生成一個launch.json文件
這時候一般的程序都可以開始調試了,但是如果你的main.go啟動是需要一些配置文件的話,需要配置一個cwd的屬性.
cwd - current working directory for finding dependencies and other files
9.2、配置cwd屬性
launch.json 中 加上cwd的屬性如下??
{ // 使用 IntelliSense 了解相關屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${fileDirname}", "cwd": "${workspaceFolder}", "env": {}, "args": [] } ] }
到此,設置好斷點,選中入口文件,按F5就可以進入debug了,然后f10單步之類的快捷鍵,可以看界面上的提示,自己點幾下就知道好玩了.
9.3、Debug運行效果
最后
任何語言的環(huán)境配置都是非常重要的一步,初學者需要有足夠的耐心嘗試自己配置,加油,你是最棒的
到此這篇關于vscode插件設置之Golang開發(fā)環(huán)境配置的文章就介紹到這了,更多相關vscode Golang開發(fā)環(huán)境配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Golang中int,?int8,?int16,?int32,?int64和uint區(qū)別淺析
go語言中的int的大小是和操作系統(tǒng)位數(shù)相關的,如果是32位操作系統(tǒng),int類型的大小就是4字節(jié),如果是64位操作系統(tǒng),int類型的大小就是8個字節(jié),下面這篇文章主要給大家介紹了關于Golang中int,?int8,?int16,?int32,?int64和uint區(qū)別的相關資料,需要的朋友可以參考下2022-11-11Golang?channel底層實現(xiàn)過程解析(深度好文)
Go語言為了方便使用者,提供了簡單、安全的協(xié)程數(shù)據(jù)同步和通信機制,這篇文章主要介紹了Golang?channel底層是如何實現(xiàn)的,需要的朋友可以參考下2024-07-07GO將mysql?中?decimal?數(shù)據(jù)類型映射到?protobuf的操作方法
這篇文章主要介紹了go如何優(yōu)雅地將?mysql?中?decimal?數(shù)據(jù)類型映射到?protobuf,本文主要展示一下在 protobuf中 float與double的一個區(qū)別,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-09-09Go標準庫strconv實現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉換
這篇文章主要為大家介紹了Go標準庫strconv實現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11