1. 程式人生 > >在vscode中go編碼發生的問題整理

在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](https://gitee.com/happlyfox/img/raw/master/image-20210317163139745.png) 3、我們在這個輸入框中輸入`>go:install`,下面會自動搜尋相關命令,我們選擇`Go:Install/Update Tools`這個命令,按下圖選中並會回車執行該命令 在彈出的視窗選中所有,並點選“確定”按鈕,進行安裝。 ![image-20210317084851704](https://gitee.com/happlyfox/img/raw/master/image-20210317084851704.png) 等待安裝完成,因為國內網路的特殊性,所以一定要誰知好go的代理源,不然總是下載失敗。 執行這一步之後,重啟Vscode,如果這個時候能夠解決你的問題,那就不需要再往下看了。 ## 具體問題解決方案 **如果以上步驟不能解決你的問題,那就可以對應自己的問題來進行操作設定了。** ### 一、VSCode中F12無法跳轉 #### 通用設定 點選左下角點選齒輪,選擇設定介面(也可以直接快捷鍵`CTRL+,` 點選使用者-擴充套件-go。進行如下設定 1、DocsTool修改成godoc ![image-20210317090407649](https://gitee.com/happlyfox/img/raw/master/image-20210317090407649.png) 2、Use Language Server 去掉勾選 ![image-20210317090415647](https://gitee.com/happlyfox/img/raw/master/image-20210317090415647.png) 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 基本使用](https://www.cnblogs.com/chnmig/p/11806609.html) [vscode go 未找到任何定義](https://blog.csdn.net/MondaysMonkey/article/details/107418229) ## 關於我 [我的部落格|文章首發](http://www.zhouhuibo.club) ## 最後 本文到此結束,希望對你有幫助