亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vscode插件設(shè)置之Golang開發(fā)環(huán)境配置全過(guò)程

 更新時(shí)間:2022年12月14日 09:23:00   作者:甜點(diǎn)cc  
go語(yǔ)言開發(fā)選擇vscode作為IDE工具也是一個(gè)不錯(cuò)的選擇,下面這篇文章主要給大家介紹了關(guān)于vscode插件設(shè)置之Golang開發(fā)環(huán)境配置的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下

1、vscode安裝Go插件

2、vscode自動(dòng)提示需要安裝插件,點(diǎn)擊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

安裝失敗,網(wǎng)絡(luò)原因??

3、另一種手動(dòng)安裝插件的方式??

vscode

1. 快捷鍵: ctrl+shift+p
2. 輸入: Go install
3. 選擇Install/Update Tools

勾選安裝所有插件

這樣安裝跟點(diǎn)擊vscode提示安裝 install all是一樣的,不會(huì)成功

connection failed because connected host has failed to respond.

推薦兩個(gè)方法:

1、開vpn或者代理,讓它安裝成功

2、設(shè)置go proxy,然后去安裝vscode插件

4、設(shè)置goproxy代理

4.1、查看GO環(huán)境變量設(shè)置

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 的由來(lái)

簡(jiǎn)單來(lái)說(shuō)就是 影響到 Go項(xiàng)目 本地存放的位置(不受GOPATH的影響),后面會(huì)用到,這里不展開介紹,初學(xué)者先了解一下即可。

如其名字所暗示,GO111MODULE 是 Go 1.11 引入的新版模塊管理方式。之前的版本中,安裝的三方庫(kù)比如 go-cmp ,要求模塊存在于 GOPATH 下,否則編譯時(shí)會(huì)找不到。

GO111MODULE 是一個(gè)環(huán)境變量,可以在使用 go 更改 Go 導(dǎo)入包的方式時(shí)進(jìn)行設(shè)置。

4.3、設(shè)置七牛云代理

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

設(shè)置完之后,查看

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)境變量中設(shè)置就可以了,不用單獨(dú)在vscode中設(shè)置

2、設(shè)置 Tools Gopath(設(shè)置全局工具安裝目錄,目的是更方便、清晰的管理工具?)

vscode中可以為在vscode中安裝的go tools設(shè)置一個(gè)單獨(dú)的目錄具體設(shè)置項(xiàng)為 Tools Gopath,使用ctrl+, 然后輸入tools gopath ,在下方填你想獨(dú)立存放剛才第二步安裝的工具的存放的地方了。

settings.json文件里新增以下配置, 設(shè)置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相關(guān)

如果你現(xiàn)在使用了go mod模式,就不用糾結(jié)配置幾個(gè)gopath的問(wèn)題,只配置一個(gè)就好了。vscode的go mod支持需要啟用language server按ctrl+, (注意是ctrl + 英文狀態(tài)的逗號(hào))調(diào)出配置界面,輸入go.lang

把 Use Language Server設(shè)置選中狀態(tài)即開啟了gopls了,這時(shí)vscode就會(huì)很好的支持go mod類型的項(xiàng)目了。

8、VsCode Go插件在Go項(xiàng)目中的正確配置

8.1、如何運(yùn)行

如果是一個(gè)單獨(dú)的main.go這種,現(xiàn)在你的vscode應(yīng)該可以工作了,但是在工程里面可能不行。

工程一般有2種 結(jié)構(gòu)

一種是有src目錄,就是go 代碼放在工程目錄下面的src目錄下面,這就可能會(huì)導(dǎo)致一些項(xiàng)目不能正確加載,比如非go mod項(xiàng)目。

這時(shí)候在工程目錄下面建一個(gè).vscode目錄,然后在.vscode目錄下面創(chuàng)建.settings.json文件

在里面設(shè)置gopath

如果你的main包不在src目錄下面,則需要設(shè)置cwd,也就是工作時(shí)切換到的目錄

這時(shí)候可以選中你的main.go,按ctrl+F5,start Without Debuging,開始運(yùn)行了.

注意:說(shuō)一點(diǎn),如果是go mod的工程,這個(gè)gopath就不需要配置了.

9、如何Debug和運(yùn)行

vscode里面正常的工程項(xiàng)目main包一般在cmd下面,不同的項(xiàng)目可能不同,但一定有一個(gè)main包。

9.1、創(chuàng)建 launch.json (運(yùn)行項(xiàng)目)

選中你的main.go,按F5,這時(shí)就會(huì)彈出一個(gè)需要?jiǎng)?chuàng)建launch.json,點(diǎn)create a launch.json,直接默認(rèn)的選中g(shù)o,就會(huì)在.vscode目錄下生成一個(gè)launch.json文件

這時(shí)候一般的程序都可以開始調(diào)試了,但是如果你的main.go啟動(dòng)是需要一些配置文件的話,需要配置一個(gè)cwd的屬性.

cwd - current working directory for finding dependencies and other files

9.2、配置cwd屬性

launch.json 中 加上cwd的屬性如下??

{
  // 使用 IntelliSense 了解相關(guān)屬性。
  // 懸停以查看現(xiàn)有屬性的描述。
  // 欲了解更多信息,請(qǐng)?jiān)L問(wè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": []
    }
  ]
}

到此,設(shè)置好斷點(diǎn),選中入口文件,按F5就可以進(jìn)入debug了,然后f10單步之類的快捷鍵,可以看界面上的提示,自己點(diǎn)幾下就知道好玩了.

9.3、Debug運(yùn)行效果

最后

任何語(yǔ)言的環(huán)境配置都是非常重要的一步,初學(xué)者需要有足夠的耐心嘗試自己配置,加油,你是最棒的

到此這篇關(guān)于vscode插件設(shè)置之Golang開發(fā)環(huán)境配置的文章就介紹到這了,更多相關(guān)vscode Golang開發(fā)環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go select 死鎖的一個(gè)細(xì)節(jié)

    Go select 死鎖的一個(gè)細(xì)節(jié)

    這篇文章主要給大家分享的是Go select 死鎖的一個(gè)細(xì)節(jié),文章先是對(duì)主題提出問(wèn)題,然后展開內(nèi)容,感興趣的小伙伴可以借鑒一下,希望對(duì)你有所幫助
    2021-10-10
  • Golang中int,?int8,?int16,?int32,?int64和uint區(qū)別淺析

    Golang中int,?int8,?int16,?int32,?int64和uint區(qū)別淺析

    go語(yǔ)言中的int的大小是和操作系統(tǒng)位數(shù)相關(guān)的,如果是32位操作系統(tǒng),int類型的大小就是4字節(jié),如果是64位操作系統(tǒng),int類型的大小就是8個(gè)字節(jié),下面這篇文章主要給大家介紹了關(guān)于Golang中int,?int8,?int16,?int32,?int64和uint區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Golang?channel底層實(shí)現(xiàn)過(guò)程解析(深度好文)

    Golang?channel底層實(shí)現(xiàn)過(guò)程解析(深度好文)

    Go語(yǔ)言為了方便使用者,提供了簡(jiǎn)單、安全的協(xié)程數(shù)據(jù)同步和通信機(jī)制,這篇文章主要介紹了Golang?channel底層是如何實(shí)現(xiàn)的,需要的朋友可以參考下
    2024-07-07
  • GO將mysql?中?decimal?數(shù)據(jù)類型映射到?protobuf的操作方法

    GO將mysql?中?decimal?數(shù)據(jù)類型映射到?protobuf的操作方法

    這篇文章主要介紹了go如何優(yōu)雅地將?mysql?中?decimal?數(shù)據(jù)類型映射到?protobuf,本文主要展示一下在 protobuf中 float與double的一個(gè)區(qū)別,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Go標(biāo)準(zhǔn)庫(kù)strconv實(shí)現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉(zhuǎn)換

    Go標(biāo)準(zhǔn)庫(kù)strconv實(shí)現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉(zhuǎn)換

    這篇文章主要為大家介紹了Go標(biāo)準(zhǔn)庫(kù)strconv實(shí)現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 淺談GoLang幾種讀文件方式的比較

    淺談GoLang幾種讀文件方式的比較

    這篇文章主要介紹了淺談GoLang幾種讀文件方式的比較,一般來(lái)說(shuō)常用的有三種。使用Read加上buffer,使用bufio庫(kù)和ioutil 庫(kù),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2019-01-01
  • Golang 操作TSV文件的實(shí)戰(zhàn)示例

    Golang 操作TSV文件的實(shí)戰(zhàn)示例

    本文主要介紹了Golang 操作TSV文件的實(shí)戰(zhàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • go語(yǔ)言中GoMock安裝使用詳解

    go語(yǔ)言中GoMock安裝使用詳解

    這篇文章主要為大家介紹了go語(yǔ)言中GoMock安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 詳解Golang中Context的原理和使用技巧

    詳解Golang中Context的原理和使用技巧

    Golang?的?Context?包,中文可以稱之為“上下文”,是用來(lái)在?goroutine?協(xié)程之間進(jìn)行上下文信息傳遞的,這些上下文信息包括?kv?數(shù)據(jù)、取消信號(hào)、超時(shí)時(shí)間、截止時(shí)間等。本文主要介紹了Context的原理和使用技巧,希望對(duì)大家有所幫助
    2022-11-11
  • go語(yǔ)言中五種字符串的拼接方式(小結(jié))

    go語(yǔ)言中五種字符串的拼接方式(小結(jié))

    字符串拼接在 golang 里面其實(shí)有很多種實(shí)現(xiàn),本文就詳細(xì)的介紹一下go語(yǔ)言中五種字符串的拼接方式以及性能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評(píng)論