這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
一、介紹
對於Visual Studio Code開發工具,有一款優秀的GoLang外掛程式,它的首頁為:https://github.com/microsoft/vscode-go
這款外掛程式的特性包括:
- Colorization 代碼著彩色
- Completion Lists 代碼自動完成(使用gocode)
- Snippets 程式碼片段
- Quick Info 快速提示資訊(使用godef)
- Goto Definition 跳轉到定義(使用godef)
- Find References 搜尋參考引用(使用go-find-references)
- File outline 檔案大綱(使用go-outline)
- Workspace symbol search 工作區符號搜尋(使用
go-symbols
)
- Rename 重新命名(使用gorename)
- Build-on-save 儲存構建(使用go build和go test)
- Format 代碼格式化(使用goreturns或goimports或gofmt)
- Add Imports 添加引用(使用 gopkgs)
- Debugging 調試代碼(使用delve)
IDE功能:
調試功能:
二、安裝工具
首先,你需要安裝Visual Studio Code 版本為0.10。在命令選擇區(Ctrl-Shift-P或F1鍵)選擇Extension,並選擇Go。
註:Visual Studio Code 安裝,請查看《3.1 Visual Studio Code》。
設定工作環境系統變數GOPATH,請查看《3.3 設定環境變數GOPATH》。原生GOPATH為D:\GoWorks。開啟要工作的GOPATH檔案夾或子檔案夾,可以開始編輯go檔案。
其他外掛程式安裝詳見《四、外掛程式配置》。安裝之後介面如下:
按下F5,提示不能調試,要安裝調試工具。
調試工具安裝,在命令列運行:
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
在按下F5,進行調試:
三、組態工具
3.1 settings.json
下面的Visual Studio代碼設定可用於Go擴充。這些都可以在使用者的喜好來設定或工作區設定(.vscode/settings.json)。
開啟工作區settings.json:
{ "files.autoSave": "onFocusChange", "go.buildOnSave": true, "go.lintOnSave": true, "go.vetOnSave": true, "go.buildFlags": [], "go.lintFlags": [], "go.vetFlags": [], "go.useCodeSnippetsOnFunctionSuggest": false, "go.formatOnSave": false, "go.formatTool": "goreturns", "go.goroot": "C:\\go", "go.gopath": "D:\\GoWorks"}
3.2 launch.json
調試工具配置launch.json:
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceRoot}", "env": {}, "args": [] } ]}
program參數可以指一個包的檔案夾進行調試,或該檔案夾中的一個檔案。
mode
參數可以被設定為:
- debug 編譯調試器下的程式檔案夾和發射的內容。 [預設]
- test 在程式檔案夾中調試測試。
- exec 來運行構建當前代碼的程式檔案夾的預建的二進位檔案來代替。
3.3 構建和調試擴充
可以通過外延擴充設定開發環境的調試。
首先確保在.vscode/extensions沒有安裝。然後複製其他地方版本庫在你的機器上,運行NPM安裝和開啟Code的開發執行個體。
在cmd命令中,開啟D:\GoWorks目錄:
在cmd視窗運行如下命令:
git clone https://github.com/Microsoft/vscode-go
轉到vscode-go目錄
運行npm install
輸入 code . 彈出 vscode-go視窗
現在你可以調試viewlet並選中Launch Extension當按F5鍵。
在 [Extension Development Host] 執行個體中,開啟GOPATH檔案夾。
你現在可以命中斷點和逐步執行擴充。
如果對擴充.TS檔案進行編輯,只需重新載入[Extension Development Host]Code執行個體在新擴充的代碼載入,調試執行個體會自動連接。
詳細新可以參考:https://github.com/Microsoft/vscode-go/blob/master/src/debugAdapter/Readme.md