引言
使用VsCode進行Go程序開發(fā),我們肯定會碰到一些問題,這些問題有些是IDE的配置問題,有些是下載包的版本不一致問題,本文主要針對在開發(fā)過程中碰到的問題做一個簡單的回顧和整理。
前期準備,必看
在進行問題糾錯前,先確保自己正確下載了golang的官方工具集go-tool,如果不確定,就跟著我的步驟操作一遍,可能操作后,你的問題就解決了。
1、配置golang的源。
goenv -w GOPROXY=https://goproxy.cn,direct
然后我們進行golang工具的默認工具服務下載:
2、Windows平臺按下Ctrl+Shift+P,Mac平臺按Command+Shift+P,這個時候VS Code界面會彈出一個輸入框

3、我們在這個輸入框中輸入>go:install,下面會自動搜索相關命令,我們選擇Go:Install/Update Tools這個命令,按下圖選中并會回車執(zhí)行該命令
在彈出的窗口選中所有,并點擊“確定”按鈕,進行安裝。

等待安裝完成,因為國內網(wǎng)絡的特殊性,所以一定要誰知好go的代理源,不然總是下載失敗。
執(zhí)行這一步之后,重啟Vscode,如果這個時候能夠解決你的問題,那就不需要再往下看了。
具體問題解決方案
如果以上步驟不能解決你的問題,那就可以對應自己的問題來進行操作設置了。
一、VSCode中F12無法跳轉
通用設置
點擊左下角點擊齒輪,選擇設置界面(也可以直接快捷鍵CTRL+,?點擊用戶-擴展-go。進行如下設置
1、DocsTool修改成godoc

2、Use Language Server 去掉勾選

3、重啟VsCode
go mod模式
如果進行上述操作后還是不行,并且你是使用的go mod 模式,那還有一種比較特殊的方式可以解決這個問題。
執(zhí)行命令go mod vendor導入依賴,這一步會將依賴轉移至該項目根目錄下的 vendor(自動新建) 文件夾下
此時F12就可以進行代碼跳轉了。
二、代碼自動帶出功能失效
這個問題一般都是因為?go mod模式的切換導致的。如果你的項目是使用的Gopath模式(如果有同學對Gopath和Gomod這倆種模式不了解的,可以看看我的文章如何看待go moudle并應用于工作),那么你需要設置
goenv -w GO111MODULE=off
這時候自動帶出功能就可能正確使用了
如果你使用的是go mod模式,設置
goenv -w GO111MODULE=on
自動帶出功能也可以恢復正常。