在vscode中go編碼發生的問題整理

引言

使用VsCode進行Go程序開發,咱們確定會碰到一些問題,這些問題有些是IDE的配置問題,有些是下載包的版本不一致問題,本文主要針對在開發過程當中碰到的問題作一個簡單的回顧和整理。html

前期準備,必看

在進行問題糾錯前,先確保本身正確下載了golang的官方工具集go-tool,若是不肯定,就跟着個人步驟操做一遍,可能操做後,你的問題就解決了。程序員

一、配置golang的源。golang

go env -w GOPROXY=https://goproxy.cn,direct

而後咱們進行golang工具的默認工具服務下載:網絡

二、Windows平臺按下Ctrl+Shift+P,Mac平臺按Command+Shift+P,這個時候VS Code界面會彈出一個輸入框工具

image-20210317163139745

三、咱們在這個輸入框中輸入>go:install,下面會自動搜索相關命令,咱們選擇Go:Install/Update Tools這個命令,按下圖選中並會回車執行該命令ui

在彈出的窗口選中全部,並點擊「肯定」按鈕,進行安裝。.net

image-20210317084851704

等待安裝完成,由於國內網絡的特殊性,因此必定要誰知好go的代理源,否則老是下載失敗。代理

執行這一步以後,重啓Vscode,若是這個時候可以解決你的問題,那就不須要再往下看了。code

具體問題解決方案

若是以上步驟不能解決你的問題,那就能夠對應本身的問題來進行操做設置了。htm

1、VSCode中F12沒法跳轉

通用設置

點擊左下角點擊齒輪,選擇設置界面(也能夠直接快捷鍵CTRL+, 點擊用戶-擴展-go。進行以下設置

一、DocsTool修改爲godoc

image-20210317090407649

二、Use Language Server 去掉勾選

image-20210317090415647

三、重啓VsCode

go mod模式

若是進行上述操做後仍是不行,而且你是使用的go mod 模式,那還有一種比較特殊的方式能夠解決這個問題。

執行命令go mod vendor導入依賴,這一步會將依賴轉移至該項目根目錄下的 vendor(自動新建) 文件夾下

此時F12就能夠進行代碼跳轉了。

2、代碼自動帶出功能失效

這個問題通常都是由於 go mod模式的切換致使的。若是你的項目是使用的Gopath模式(若是有同窗對Gopath和Gomod這倆種模式不瞭解的,能夠看看個人文章如何看待go moudle並應用於工做),那麼你須要設置

go env -w GO111MODULE=off

這時候自動帶出功能就可能正確使用了

若是你使用的是go mod模式,設置

go env -w GO111MODULE=on

自動帶出功能也能夠恢復正常。

文章參考

go module 基本使用

vscode go 未找到任何定義

關於我

個人博客|文章首發

最後

本文到此結束,但願對你有幫助 😃

若是還有什麼疑問或者建議,能夠多多交流,原創文章,文筆有限,才疏學淺,文中如有不正之處,萬望告知。

更多精彩技術文章彙總在個人 公衆號【程序員工具集]】,持續更新,歡迎關注訂閱收藏。

wechat.png

相關文章
相關標籤/搜索