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

posted @   古路无行客  阅读(1795)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示