GoLand 2023.2 发布,带 AI 助手

Go 模块

GoLand 2023.2 对 Go 模块的支持有了很大的提升,实现了在项目打开时以及每次更改 go.mod 文件后自动下载 Go 模块的功能。此功能默认启用,但你可以随时在设置中将其关闭。此外,它添加了多项意图操作和检查,帮助你更快更新 go.mod 文件中的依赖项。打开 go.mod 文件时,GoLand 会高亮显示过时的依赖项。你可以将鼠标悬停在给定软件包的高亮显示版本上,然后使用快速修复对其进行更新。你还可以将所有依赖项更新到最新补丁或主要版本,也可以选择仅更新直接依赖项。

AI 助手

2023.2 版本中,引入了一个重磅新增功能——AI 助手。AI 助手当前具备一组由 AI 提供支持的初始功能,提供集成式 AI 聊天,可以自动编写文档注释、建议名称、生成提交消息等。有关 AI 助手的更多信息以及访问说明,可以直接参考 https://www.jetbrains.com/help/idea/2023.2/ai-assistant.html。

重构

新版本提供了两个新的重构:将函数参数迁移为方法接收器和将方法接收器迁移为函数参数。这两个重构可以帮助你在函数和方法之间转换类型。例如,将函数参数迁移为方法接收器重构可以将一个函数转换为一个类型的方法,而将方法接收器迁移为函数参数重构则可以将一个类型的方法转换为一个函数。

错误处理

新版本实现了两个检查,支持高亮显示应该使用 errors.Is 或 errors.As 的情况。同时,它们也提供了快速修复,帮助你将现有的代码重构为 errors.Is 或 errors.As 的用法。第一个检查会高亮显示错误的直接比较。在 Go 1.13 及以后的版本中,错误可以使用 fmt.Errorf 函数和 %w 动词来包装,而使用等号检查错误可能会在包装错误上失败。推荐的检查特定错误的方式是使用标准库中的 errors.Is 函数。GoLand 现在有一个快速修复,建议将错误的直接比较转换为 errors.Is 的用法。第二个检查会高亮显示错误上的类型断言和类型切换,例如 err.(*MyErr) 或 switch err.(type) ,因为它们也可能会在包装错误上失败。在 Go 1.13 及以后的版本中,推荐的方式是使用 errors.As 。我们的新快速修复建议将错误上的类型断言和类型切换转换为 errors.As 的用法。

Kubernetes 插件

GoLand 引入了一个新功能,允许你在一个项目中设置多个 kubeconfig 文件。并且支持在服务工具窗口中查看 Kubernetes 集群中部署的日志。

Docker

现在可以在 Services(服务)工具窗口中轻松访问和预览 Docker 镜像层的内容。从列表选择镜像,选择 Show layers(显示层),然后点击 Analyze image for more information(分析镜像以获得更多信息)。你还可以通过将 Docker 运行配置指定为另一个配置的启动前任务来设置 Docker 运行配置。

版本控制(提交特定的代码行)

新版本支持有选择地提交代码区块的特定部分。只需在代码块中选择要提交的行,然后从上下文菜单中调用“将这些行包含到提交中”。

性能

GoLand 提供了新的命令行工具,用于快速构建和上传共享索引。它旨在简化团队合作并消除本地索引大型项目花费的时间。新工具将简化为团队生成共享索引的过程,只需几下点击,无需多个脚本和服务。

GitLab 集成

GoLand 2023.2 引入了与 GitLab 的集成,帮助简化您的开发工作流。现在,您可以直接在 IDE 中使用 Merge Request(合并请求)功能:查看请求列表、检查更改、留下评论,以及导航到相关视图。

总结