JetBrains 刚发布了 GoLand 2021.3.3 版本,该版本主要是更好地支持 Go1.18 版本,其中几个特性一起看看。

1、支持快速修复切换到新的 Go SDK

如果你的项目包含泛型代码,但你当前的 Go SDK 版本低于 Go1.18,GoLand 会报错并给出修复建议。

比如,当前项目的 Go SDK 是 1.17.6,go.mod 中的版本是 1.17,写入如下代码:

package main

import (
 "fmt"
)

func add[T ~int | ~float64](a, b T) T {
 return a + b
}

func main() {
 fmt.Println(add(1, 2))
 fmt.Println(add(1.2, 2.3))
}

add 后面的内容会提示错误,鼠标放上去有提示:

More actions…
More actions…

2、支持底层类型约束

现在支持具有底层类型约束的函数,GoLand 不再显示“缺少函数体”错误。

3、“Exported element should have a comment” 检测默认启用

在 GoLand 的首选项中有配置 Go 代码风格的地方:Preference/Settings | Editor | Code Style | Inspections,Go、代码风格。

4、其他改动

1)传递给闭包的未使用变量被报告为错误。如果将 Go SDK 设置为1.18,GoLand 现在将传递给闭包的未使用变量报告为错误。

2)“Cannot use … (type …) as the type any” 错误已修复

3)会提示类型参数的空列表错误

4)无效文件不会进行语法检测

。。。

完整的发布说明见 https://youtrack.jetbrains.com/articles/GO-A-29/GoLand-2021.3.3-(213.6777.51-build)-Release-Notes。

GoLand 2021.3.3 对泛型支持更好了,喜欢 GoLand 的朋友,可以用用这个最新版本。