vscode打造golang開發環境以及golang的debug單元測試


一.前言

      vscode使用的順手了,真的很難再換到沉重的ide去。但是vscodedebug確實比不過老牌ide自帶的,因此只能靠咱們自己去安裝了。。

二. 正文

1.vscode的擴展

1)搜索擴展go,安裝
    (2)ctrl_cammand+P ,輸入go:install,FQ下載插件
    (3)如果設置了go mod方式,那么vscode一次只能打開一個項目文件夾。不然會報錯:
        could not import xx $GOROOT
        could not import xx $GOPATH
    (4)復制忽略$符號問題:
        打開設置,搜索wordSeparators,去掉正則匹配中的$
    (5)查看每行代碼的git提交人,提交記錄
        安裝擴展:git history和 gitLens
    (6)vscode頁面預覽以及打開多個窗口
        1)打開設置,搜索Enable PreView,去掉勾選
        2)settings新增設置:"workbench.editor.showTabs":true7) vscode調試go代碼 : 安裝delve
        參考:https://www.jianshu.com/p/d8e09faf498c8)理解goroot,gopath以及go mod
        參考:https://blog.csdn.net/zkyapple/article/details/1121082839)vscode收縮文件中所有代碼,打開收縮
        折疊代碼塊快捷鍵
        command + k + 0 #長按command
        展開代碼塊快捷鍵
        command + k + j #長按command
        (10)vscode關閉go的自動格式化代碼
    (1)打開設置,搜索: format on save
    (2)找到go部分,打開setting,會自動配置一些字段,全部設置為false即可

2.vscode的單元測試

1) 找到要調用的方法文件同級目錄,比如要調用的文件是xxx.go
 (2)新建測試文件xxx_test.go,保持package一致.且方法名需要Test開頭
 (3)主要用到golang的testing包。偽代碼如下
 
 package xx

run test | debug test
func Testxx(t *testing.T) {
    //初始化配置的代碼。從main.go中復制即可,保證項目可以加載到配置,比如鏈接mysql等
    //自己構造參數,調用方法即可
    err : = xxxx(自己構造的參數)

}

(4)此時我們鼠標點擊方法名上面的run test即可。
 
 (5)run test的時候無法fmt打印?
     "go.testFlags": ["-v"]
    設置加上之后,我們的format等打印就會出來了

3 .vscode的debug

1)首先要知道自己的cpu架構,目前mac主要分為amd和arm的。
博主是m1芯片,也就是arm的,因此要安裝arm 版本的golang。

(2)golang 版本大於1.6 (貌似之前的版本debug有點問題)

(3)安裝dlv 
    go get -u github.com/go-delve/delve/cmd/dlv
(4) 點擊方法名上面的 debug test ,會要求創建launch.json,同意即可。
主要要選擇go。使用vscode默認生成的json即可
{
    // 使用 IntelliSense 了解相關屬性。 
    // 懸停以查看現有屬性的描述。
    // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}"
        }
    ]
}

(5) 打斷點,執行debug test

(6) 報錯信息
    報錯:could not launch process: can not run under Rosetta, check that the installed build of
 Go is right for your CPU architecture Process exiting with code: 1

方案:
1.下載golang 的arm ,且版本要大於1.6
2.重新安裝dlv (錯誤原因就在於,使用的是之前老版本的dlv,重新下載即可)
    go get -u github.com/go-delve/delve/cmd/dlv

基本上按照這些步驟執行下來就可以愉快的使用vscodedebug功能了。不能不說真的強無敵,每一步的變量值都能顯示出來,調試神器啊。不禁想起當年靠打印調試程序的日子,真特么青澀。

轉載:https://blog.csdn.net/LJFPHP/article/details/120242148

一.前言      vscode使用的順手了,真的很難再換到沉重的ide去。但是vscode的debug確實比不過老牌ide自帶的,因此只能靠咱們自己去安裝了。。
二. 正文1.vscode的擴展(1)搜索擴展go,安裝    (2)ctrl_cammand+P ,輸入go:install,FQ下載插件    (3)如果設置了go mod方式,那么vscode一次只能打開一個項目文件夾。不然會報錯:        could not import xx $GOROOT        could not import xx $GOPATH    (4)復制忽略$符號問題:        打開設置,搜索wordSeparators,去掉正則匹配中的$    (5)查看每行代碼的git提交人,提交記錄        安裝擴展:git history和 gitLens    (6)vscode頁面預覽以及打開多個窗口        1)打開設置,搜索Enable PreView,去掉勾選        2)settings新增設置:"workbench.editor.showTabs":true    (7) vscode調試go代碼 : 安裝delve        參考:https://www.jianshu.com/p/d8e09faf498c    (8)理解goroot,gopath以及go mod        參考:https://blog.csdn.net/zkyapple/article/details/112108283    (9)vscode收縮文件中所有代碼,打開收縮        折疊代碼塊快捷鍵        command + k + 0 #長按command        展開代碼塊快捷鍵        command + k + j #長按command        (10)vscode關閉go的自動格式化代碼    (1)打開設置,搜索: format on save    (2)找到go部分,打開setting,會自動配置一些字段,全部設置為false即可1234567891011121314151617181920212223242.vscode的單元測試(1) 找到要調用的方法文件同級目錄,比如要調用的文件是xxx.go (2)新建測試文件xxx_test.go,保持package一致.且方法名需要Test開頭 (3)主要用到golang的testing包。偽代碼如下  package xx
run test | debug testfunc Testxx(t *testing.T) {//初始化配置的代碼。從main.go中復制即可,保證項目可以加載到配置,比如鏈接mysql等//自己構造參數,調用方法即可err : = xxxx(自己構造的參數)
}
(4)此時我們鼠標點擊方法名上面的run test即可。  (5)run test的時候無法fmt打印?     "go.testFlags": ["-v"]    設置加上之后,我們的format等打印就會出來了123456789101112131415161718193 .vscode的debug(1)首先要知道自己的cpu架構,目前mac主要分為amd和arm的。博主是m1芯片,也就是arm的,因此要安裝arm 版本的golang。
(2)golang 版本大於1.6 (貌似之前的版本debug有點問題)
(3)安裝dlv go get -u github.com/go-delve/delve/cmd/dlv(4) 點擊方法名上面的 debug test ,會要求創建launch.json,同意即可。主要要選擇go。使用vscode默認生成的json即可{    // 使用 IntelliSense 了解相關屬性。     // 懸停以查看現有屬性的描述。    // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387    "version": "0.2.0",    "configurations": [        {            "name": "Launch Package",            "type": "go",            "request": "launch",            "mode": "auto",            "program": "${fileDirname}"        }    ]}
(5) 打斷點,執行debug test
(6) 報錯信息報錯:could not launch process: can not run under Rosetta, check that the installed build of Go is right for your CPU architecture Process exiting with code: 1
方案:1.下載golang 的arm ,且版本要大於1.62.重新安裝dlv (錯誤原因就在於,使用的是之前老版本的dlv,重新下載即可)    go get -u github.com/go-delve/delve/cmd/dlv
123456789101112131415161718192021222324252627282930313233343536       基本上按照這些步驟執行下來就可以愉快的使用vscode的debug功能了。不能不說真的強無敵,每一步的變量值都能顯示出來,調試神器啊。不禁想起當年靠打印調試程序的日子,真特么青澀。

 

敲重點 原文鏈接:https://blog.csdn.net/LJFPHP/article/details/120242148


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM