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.Run 和 suite.T().Run,只要子测试名称是字符串常量即可。另外,可以从“Run”工具窗口重新运行子测试,以避免重新运行整个顶级测试。

此外,GoLand 现在可以在一个测试用例中使用相同的方法名称分别运行 Testify 套件。

最后但并非最不重要的一点是,当您准备写测试函数时(testing.T 作为第一个参数),GoLand 会在可能的情况下自动传递该参数。这适用于 testify/assert,testify/require,testify/mock 和 testify/suite 包。

03 代码检查

不正确使用类似 Println/Printf 的函数,GoLand 会有警告,之前只对标准库起作用,现在支持 github.com/pkg/errors, github.com/sirupsen/logrus 和 go.uber.org/zap 包。

最重要的是,我们添加了占位符突出显示和折叠,以及添加格式字符串参数的意图。

context.CancelFunc(不称为代码检查)报告了 context 取消的潜在不安全使用。当 context 返回的 “cancel” 函数未在所有执行路径上调用时,此功能特别有用。

更多细节可以查看标准库文档:https://docs.studygolang.com/pkg/context。

04 代码编辑

time 包的支持

Go 语言中文网注:Go 中的时间格式化和其他语言不一样,其他语言都是使用 YYYY、MM、dd 等,而 Go 使用魔法数字:2006-01-02 15:04:05 这样的固定时间。有些人可能记不住或习惯其他语言的格式。GoLand 2020.3 做了这样的转换,见下图。

我们增加了对 time 包的支持,因此您可以更轻松地使用 time 和 duration。GoLand 将通过代码补全(⌃Space)建议使用 ISO-8601 中 YYYY,MM,DD 占位符的预定义 Layout。

在某个 token 上按 ⌘P,IDE 将显示其含义。Layout 标记也有语法突出显示。代码完成还建议在字符串文字之外的标准时间 Layout。

更智能的包处理

现在,IDE 可以更聪明地为您经常使用的包的提示项配置优先级,这些包是在项目的 go.mod 文件中明确声明的。

我们还添加了一个选项,可将包从项目导入路径和完成建议中完全排除。您可以通过 Alt + Enter 或在排除窗口中执行此操作。

支持变量 shadowing

GoLang 可以更轻松地发现变量 shadowing。

IDE 显示的变量现在可以用不同的颜色区分 shadowing 变量。

导航到 shadowing 声明意图操作,使您可以立即切换到 shadowing 声明。

类型参数中的方括号

我们跟踪了 Go 小组对 泛型 [1] 的更新,并增加了对泛型语法方括号的支持。

请注意,Settings | Go 中的 “ Enable generics (experimental support for type parameters) ” 默认情况下处于关闭状态。您需要明确选择该复选框才能开始使用该功能。

更多关于该功能的信息可以 查看该文章 [2] 。

05 其他改进

在测试文件中键入 func 时,默认情况下,GoLand 会提示出 bench 和 test 函数模板。

当您在基准测试中输入 for 时,IDE 建议使用 b.N 的 for 循环来完成它。

改进了拼写和语法检查器

现在,当您按 Alt + Enter 时,建议会立即显示在对话框中。此外,新版本的 LanguageTool 语法检查引擎还改进了英语检查功能,并增加了对 10 种其他语言的支持。

06 和我编码(结对编程)

GoLand 2020.3 支持 Code With Me(EAP),这是 JetBrains 的一项新服务,用于协作开发和结对编程。与我一起编写代码使您可以与他人共享您当前在 IDE中 打开的项目,并实时进行协作。

关于该功能的更多信息请查看 这篇文章 [3] 。

07 其他

其他的改进有:

UI 改进;

VSC 更新;

Web 开发增强;

对数据库支持增强;

关于这块的详细信息可以到 这里查看 [4] 。

08 总结

GoLand 是一个收费软件,可以试用 30 天。如果觉得不错,欢迎支持!当然免费的 VSCode 也香,对吧!

参考资料 [1]

泛型: https://groups.google.com/g/golang-nuts/c/iAD0NBz3DYw?pli=1

[2]

查看该文章: https://blog.jetbrains.com/go/2020/11/24/experimenting-with-go-type-parameters-generics-in-goland/

[3]

这篇文章: https://blog.jetbrains.com/tag/codewithme/

[4]

这里查看: https://www.jetbrains.com/go/promo/whatsnew/

到此这篇关于GoLand 2020.3 正式发布有不少新功能(支持泛型)的文章就介绍到这了,更多相关GoLand 2020.3支持泛型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • goland2020.2.x永久激活码破解详细教程亲测可用(Windows Linux Mac)

    上篇文章给大家分享了goland2019.1版本的激活码和激活教程,感兴趣的朋友点击此处了解详情! goland已经更新到2020.2.3,很多小伙伴都在用2019版,该升级了! 本文针对goland 2020.2.3安装提供教程.破解版.激活码.注册补丁,可以永久破解2020所有版本,支持Mac Windows Linux操作系统! 声明:GoLand2020安装破解版教程及相关附属文件只能用于学习和交流目的,不得用于非法或商业目的.请在下载后24小时内删除相关文件.如果有任何法律纠纷,这与本

  • Goland 的安装及激活教程(window、linux下安装)

    前言 前面我们已经将GO的环境安装好了,那么是否可以进行开发了呢? 可以,但是为了能够更高效率的开发,我们还需要下载一个软件,该软件的作用就是方便我们能够快速的编写GO指令,快速的运行我们编写好的GO指令. 这个软件就是 GoLand ,就像我们要处理文字安装 Word ,处理表格用 Excel 等等. 我们把这种用来能够用来快速编写某种语言(GO,Python,JAVA,C#)指令,快速运行,同时如果出错可以方便我们查找错误(排错)的软件就称为IDE. IDE是什么 IDE(Integrate

  • 破解IDEA(Goland)注册码设置 license server一直有效不过期的过程详解

    原文地址:https://blog.csdn.net/animatecat/article/details/81483174 PS:2018年9月10日 目前jar包为:JetbrainsCrack-3.1-release-enc.jar 破解的详细过程: 1.从下面地址下载一个jar包,名称是  JetbrainsCrack-2.10-release-enc.jar 下载地址是http://idea.lanyus.com/,进去之后点击这个网址 . 2.将你下载好的JetbrainsCrack

  • Goland激活码破解永久版及安装详细教程(亲测可以)

    一.go安装 1.建议去go语言中文网下载,网址:https://studygolang.com/dl,下图是下载页面及包介绍 2.Windows版安装 3.在cmd命令行窗口输入"go version"可以查看当前Go版本,用以检测是否安装成功 4.在任意盘里新建文件夹GoWorks,里面再新建三个文件夹: bin.src.pkg 5.把GoWorks添加到环境变量中去 二.安装goland 下载安装一路下一步 设置gopath 三.破解goland 1.下载新版破解补丁 链接: h

  • Goland支持泛型了(上机实操)

    事情出因 一大早上被一篇公众号的推文震惊了,Goland竟然支持go的泛型了.据我所知: Go的泛型不是还在设计草图吗?最乐观估计也要2021年8月份.你说Go语言现在都没开发好泛型,你支持这个特性有什么用呢? 带着好奇心点开推文,没发现对泛型的说明,只看到一个Goland对泛型的使用的说明链接: https://blog.jetbrains.com/go/2020/11/24/experimenting-with-go-type-parameters-generics-in-goland/,心

  • GoLand 2020.3 正式发布有不少新功能(支持泛型)

    这是 2020 年第 3 个版本,也是最后一个版本.在 GoLand 2020.3 中,您可以探索 goroutines dumps,运行并导航到单个表测试(table tests),并从对 Testify 测试框架的扩展支持中获得更多信息.你还将发现许多新的代码编辑功能,包括对 time 包的支持,更智能的处理包方法,UI 改进,用于 Web 开发和使用数据库的各种新功能以及用于协作开发和结对编程的新服务.具体看看有哪些新特性. 01 调试器改进 Dump Goroutines 调试器中新的转

  • IntelliJ IDEA 2020.2正式发布,两点多多总能助你提效

    前言 各位小伙伴大家好,我是A哥.IDEA上个较大版本的发布,要追溯到4月份了: 时隔近4个月,北京时间2020-07-28深夜,IntelliJ IDEA再迎更新,这是2020年的第二个里程碑版本. 之前提到过,2020年是Jetbrain公司的20周年(小伙子长成大男孩了),有理由相信官方会立些Flag.所以自从官方在2020-01-20发布了其2020年的Roadmap后,我个人是有保持持续关注的,毕竟一方面是公司20周年,另一方面是21世纪的"新10年",这么好的契机很适合搞事

  • Go1.18新特性对泛型支持详解

    目录 1.泛型是什么 2.泛型类型的定义 2.1.声明一个自定义类型 2.2.内置的泛型类型any和comparable 2.3.泛型中的~符号是什么 1.泛型是什么 Go1.18增加了对泛型的支持,泛型是一种独立于使用的特定类型编写代码的方式.现在可以编写函数和类型适用于一组类型集合的任何一种.泛型生命周期只在编译期,旨在开发中减少重复代码的编写. 由于go属于静态强类型语言,例如在比较两个数的大小时,没有泛型的时候,仅仅只是传入类型不一样,我们就要再复制一份一样的函数,如果有了泛型就可以减少

  • Python 3.8正式发布重要新功能一览

    Python3.8有哪些你要关注的新内容?  Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览.这么多新内容,哪些是大家最先要关注一下的呢?下面,营长就带大家从深度和广度两方面,了解那些最大的变化,帮助大家快速上手 Python3.8. 新功能手册: https://docs.python.org/3.8/whatsnew/3.8.html 在本文中,你将了解到Python 3.8如何: 使用赋值表达式简化一些代码结构 在你自己的函数中强制执行仅位置参数 指定更精确的类型提示

  • IntelliJ IDEA 2020.1 EAP4 发布,重命名/更改签名新功能一览

    推荐阅读: 支持Java 14!Java开发工具IntelliJ IDEA 2020.1稳定版发布 https://www.jb51.net/softjc/720187.html IntelliJ IDEA 2020.1正式发布,你要的Almost都在这(推荐) https://www.jb51.net/softjc/720170.html java 开发工具IntelliJ IDEA 2020.1 正式发布,15 项重大特性.官方支持中文了(推荐) https://www.jb51.net/n

  • IDEA 2020 无法启动的解决办法(启动崩盘)附IDEA 2020 新功能

    今天早上看到 IDEA 可以升级新版本,想着体验一下新功能,点击升级,然后全部项目工程无法打开. 报错信息如下: Cannot execute command No project found to open file in 在项目窗口选择项目工程也不行,出现闪退现象. 网上搜索了一把,没有找到具体的解决办法,没办法只能靠自己. 突然想到可以看一下 IDEA 相关日志,看下是否有什么有用的报错信息. 如果使用 toolbox 可以在 IDEA 设置中,找到如下按钮快速打开. 若没有安装 tool

  • IntelliJ IDEA 2020.3 重大特性(新功能一览)

    今天发现 idea 2020.3 版本发布了 ,那么废话不多说,赶紧更新起来: IntelliJ IDEA:https://www.jetbrains.com/idea ps:继续推荐使用 toolbox 进行安装: 首先欢迎页变化: 1.管理项目: 2.配置 IDE 界面(主要就是主题,字体.快捷键等设置): 3.插件(已经安装的插件和插件市场): 4.学习 IntelliJ IDEA (新增,以前我记得需要自己安装插件的这个功能): 5.项目搜索(新增): 6.几个功能没有变化,只是位置变了

  • java15新功能的详细讲解

    目录 1. JEP 339 爱德华曲线算法(EdDSA) 2. JEP 360:Sealed Classes(密封类)预览 3. JEP 371:Hidden Classes(隐藏类) 4. JEP 372:移除 Nashorn JavaScript 引擎 5. JEP 373:重新实现 DatagramSocket API 6. JEP 374:禁用和废弃偏向锁(Biased Locking) 7. JEP 375:instanceof 类型匹配 (二次预览) 8. JEP 377:ZGC:

  • Windows Vista 安装全过程以及新功能截图

    在安装之前我们先来了解一下vista的配置要求: 处理器(CPU) 目前所有中端以上的Intel或AMD处理器都可以满足Windows Vista的基本需求,低端处理器也可以运行 Vista,但是可能无法达到最佳效果,而且显然无法在高端游戏以及视频编辑上胜任. AMD和Intel都已经推出了各自的双核心处理器,毋庸置疑的是,他们都将成为Windows Vista的出色选择在64位方面,目前的AMD.Intel 64位处理器是个不错的选择,而且根据我们的预测,当Windows Vista正式上市时

  • Dreamweaver基础教程 (一)之新功能简介

    注:Dreamweaver8和Dreamweaver2004学习基础,一样,所以看这个一样学Dreamweaver8Macromedia Dreamweaver MX 2004 (简称DW MX 2004),是Macromedia 最新开发的的HTML编辑器,用于对Web站点.Web页和 Web应用程序进行设计.编码和开发. DW MX 2004 包含有一个崭新.简洁.高效的界面,且性能也得到了改进.此外,还包含了众多新增的功能,改善了软件的易用性并使您无论处于设计环境还是编码环境都可以方便地生

随机推荐