用vscode開發除錯golang超簡單教程
目錄
一、下載並安裝vscode
二、安裝Go外掛
三、下載除錯工具
四、開啟現有go工程資料夾或新建go專案即可進行除錯
五、問題處理
首先安裝golang開發環境,這個不用說。
到這個頁面下載golang 的安裝包 https://studygolang.com/dl ,再安裝就可以了。
一、下載並安裝vscode
https://code.visualstudio.com/
二、安裝Go外掛
在vscode外掛中搜索Go的開發外掛,安裝後如圖所示
三、下載並編譯go語言除錯工具
2020.8.21更新。 這個bin已經有點過時,golang發展太快,推薦自己編譯這些工具,請參考 https://zhuanlan.zhihu.com/p/146970464
使用vscode載入go語言擴充套件包後,需要下載go相關除錯和開發的exe工具,國內因為牆的原因,經常失敗。
網上的很多文件說要執行一堆 go get 命令,其實最後做的也就是把下面介紹的exe的原始碼下載下來,再編譯生成 exe,放到$GOPATH/bin目錄下。
已經有人把這些做好,下載使用即可。 從https://download.csdn.net/download/acaic/10777280下載bin目錄檔案內容,將其解壓縮放在GOPATH目錄下,GOPATH目錄一般是C:\Users\${name}\go,name是你的使用者名稱,如果資料夾不存在就建立一個。
bin/ 目錄下主要包括以下幾個工具:
dlv.exe go 語言除錯工具
gocode.exe go語言程式碼檢查,自動補全
godef.exe go語言程式碼定義和引用的跳轉
golint.exe go語言程式碼規範檢查
go-outline.exe 用於在Go原始檔中提取JSON形式宣告的簡單工具
gopkgs.exe 快速列出可用包的工具
gorename.exe 在Go原始碼中執行識別符號的精確型別安全重新命名
goreturns.exe 類似fmt和import的工具,使用零值填充Go返回語句以匹配func返回型別
go-symbols.exe 從go原始碼樹中提取JSON形式的包符號的工具
gotour.exe go語言指南網頁版
guru.exe go語言原始碼有關工具,如程式碼高亮等
四、開啟現有go工程資料夾或新建go專案即可進行除錯
開啟main.go,按F5開始除錯,如果沒有編譯錯誤可以看到,變數顯示,呼叫堆疊的顯示還是非常清晰的,可以F10單步,F11進入函式,跟一般Visual Studio 一樣了。
我也試用過liteIDE, x35是當前的最新版,liteIDE非常輕量,是中國人開發的,用起來還是很好用的,但是目前在除錯方面個人感覺還有一些不太讓人滿意的地方,變數顯示比較難,遇到go func() 無法除錯,經常無法捕獲斷點。
五、問題處理
除錯時可能會彈出
最大的原因可能是因為,VS code當前開啟的文件不是main.go ,就那個包含main函式的go檔案。
解決方法就是點選開啟 main.go ,再按F5進行除錯。
另一種解決方法是修改launch.json,
把program那個變數的值改一下,改成 "program": "${workspaceFolder}", 意思是除錯的時候,以當前開啟的資料夾根目錄作為工程目錄進行除錯。
{
// 使用 IntelliSense 瞭解相關屬性。
// 懸停以檢視現有屬性的描述。
// 欲瞭解更多資訊,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}
具體可以參考: https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code
1、問題提出
“習慣在專案目錄裡建src放原始碼檔案,根目錄裡放配置檔案或者別的什麼,在交付時直接忽視掉src目錄就行了,但vscode好像不能這樣愉快的玩耍。。。”???
要實現把原始碼放到src目錄下,經過實踐,要修改launch.json配置檔案。
2、修改配置
原始檔案如下:
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceRoot}", "env": {}, "args": [] } ] }
其中program表示編譯的路徑,預設位vscode開啟的根目錄。要想編譯src目錄,修改如下【"program": "${workspaceRoot}\\src"】:
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceRoot}\\src", "env": {}, "args": [] } ] }
3、注意事項
如果沒有輸出,要把根目錄裡的debug二進位制檔案刪除才行。
4、原始碼下載
示例程式執行結果如下:
原始碼下載地址:GoWorkx.zip