在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界面會彈出一個輸入框

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

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

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

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

具體問題解決方案

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

一、VSCode中F12無法跳轉

通用設置

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

1、DocsTool修改成godoc

2、Use Language Server 去掉勾選

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 未找到任何定義

關於我

我的博客|文章首發

最後

本文到此結束,希望對你有幫助 😃

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章