1. 程式人生 > 其它 >用vscode開發除錯golang超簡單教程

用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