这篇文章主要介绍了GoLand 2020.3正式发布哪些新功能,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
这是 2020 年第 3 个版本,也是最后一个版本。在 GoLand 2020.3 中,您可以探索goroutines dumps,运行并导航到单个表测试(table tests),并从对 Testify 测试框架的扩展支持中获得更多信息。你还将发现许多新的代码编辑功能,包括对 time 包的支持,更智能的处理包方法,UI 改进,用于 Web 开发和使用数据库的各种新功能以及用于协作开发和结对编程的新服务。具体看看有哪些新特性。
01 调试器改进 Dump Goroutines
调试器中新的转储 Goroutines(Dump Goroutines) 图标使您可以在调试会话期间轻松地在堆栈中查找包含指定字符串的 goroutine。只需单击该图标即可在单独的窗口中打开转储。
为了帮助您始终关注重要信息,可以选择隐藏单个goroutine或具有相同堆栈的goroutine。右键单击goroutine,然后选择所需的操作,或按Delete键将其移至转储窗口中的特殊“隐藏”部分,这样不会分散您的注意力。
Go Remote configuration
如果不需要重新连接,GoLand 2020.3可以通过 Go Remote 配置停止进程。
在配置设置中,您可以指定断开连接时调试器的默认行为,可以选择 “Stop remote Delve processes”,“使其保持运行状态”或让 GoLand 每次询问您如何继续。
02 测试增强
支持 table tests
您可以从 “Run” 工具窗口运行并导航到表测试。
有一些限制:
测试数据变量必须是切片,数组或 map。它必须在与调用相同的函数中定义,并且在初始化后不得修改(for 循环中的 range 子句除外)。
各个测试数据条目必须是结构体字面值。调用前不得使用子测试名称表达式中使用的循环变量。
子测试名称表达式可以是测试数据中的字符串字段,测试数据字符串字段的连接以及带有 %s 和 %d 动词的fmt.Sprintf() 调用。
扩展了对 Testify 的支持
现在,IDE 可以识别启动测试套件的测试功能,并提供一种启动单个 suite.运行和suite.T ()。跑,只要子测试名称是字符串常量即可。另外,可以从“运行”工具窗口重新运行子测试,以避免重新运行整个顶级测试。
此外,GoLand现在可以在一个测试用例中使用相同的方法名称分别运行作证套件。
最后但并非最不重要的一点是,当您准备写测试函数时(测试。T作为第一个参数),GoLand会在可能的情况下自动传递该参数。这适用于/断言作证,作证/要求,证明/模拟和证明/套件包。
03代码检查
不正确使用类似Println/Printf的函数,GoLand会有警告,之前只对标准库起作用,现在支持github.com/pkg/errors, github.com/sirupsen/logrus和go.uber.org/zap包。
最重要的是,我们添加了占位符突出显示和折叠,以及添加格式字符串参数的意图。
上下文。CancelFunc(不称为代码检查)报告了上下文取消的潜在不安全使用。当上下文返回的“取消”函数未在所有执行路径上调用时,此功能特别有用。
更多细节可以查看标准库文档:https://docs.studygolang.com/pkg/context。
04代码编辑
时间包的支持
去语言中文网注:中去的时间格式化和其他语言不一样,其他语言都是使用YYYY,毫米,dd等,而去使用魔法数字:2006-01-02 15:04:05这样的固定时间。有些人可能记不住或习惯其他语言的格式.GoLand 2020.3做了这样的转换,见下图。
我们增加了时间对包的支持,因此您可以更轻松地使用时间和duration.GoLand将通过代码补全(?空间)建议使用iso - 8601中YYYY,毫米,DD占位符的预定义布局。