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


引言

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

前期准備,必看

在進行問題糾錯前,先確保自己正確下載了golang的官方工具集go-tool,如果不確定,就跟着我的步驟操作一遍,可能操作后,你的問題就解決了。

1、配置golang的源。

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

然后我們進行golang工具的默認工具服務下載:

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

image-20210317163139745

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

在彈出的窗口選中所有,並點擊“確定”按鈕,進行安裝。

image-20210317084851704

等待安裝完成,因為國內網絡的特殊性,所以一定要誰知好go的代理源,不然總是下載失敗。

執行這一步之后,重啟Vscode,如果這個時候能夠解決你的問題,那就不需要再往下看了。

具體問題解決方案

如果以上步驟不能解決你的問題,那就可以對應自己的問題來進行操作設置了。

一、VSCode中F12無法跳轉

通用設置

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

1、DocsTool修改成godoc

image-20210317090407649

2、Use Language Server 去掉勾選

image-20210317090415647

3、重啟VsCode

go mod模式

如果進行上述操作后還是不行,並且你是使用的go mod 模式,那還有一種比較特殊的方式可以解決這個問題。

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

此時F12就可以進行代碼跳轉了。

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

這個問題一般都是因為 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM