GoLand 2023.2 提供了与 Go 模块的改进集成、用于在函数形参与方法接收器之间双向迁移的重构,以及对 errors.Is
和 errors.As
的支持。
在此版本中,您也将发现全新的 AI Assistant 插件、GitLab 集成和 Kafka 插件。
此外,Docker 集成和 Kubernetes 插件也有所改进。
如果您更喜欢互动式学习方式,可以在欢迎屏幕上完成 What's New in GoLand 2023.2(GoLand 2023.2 最新变化)教程。
我们实现了在项目打开时以及每次更改 go.mod
文件后自动下载 Go 模块的功能。 此功能默认启用,但您可以随时在 Settings | Go | Go Modules(设置 | Go | Go 模块)中将其关闭。
go.mod
中依赖项的意图操作 我们添加了多项意图操作和检查,帮助您更快更新 go.mod
文件中的依赖项。
现在,打开 go.mod
文件时,GoLand 会高亮显示过时的依赖项。 您可以将鼠标悬停在给定软件包的高亮显示版本上,然后使用快速修复对其进行更新。 您还可以将所有依赖项更新到最新补丁或主要版本,也可以选择仅更新直接依赖项。
您现在可以按项目禁用 vendoring,例如,当单仓库包含另一种语言使用的 vendor 文件夹的时。 您可以在创建新项目时或其他时间转到 Settings | Go | Go Modules(设置 | Go | Go 模块)禁用 vendoring。
GoLand 提供了两个新重构:Migrate function parameter to method receiver(将函数形参迁移到方法接收器)和 Migrate method receiver to function parameter(将方法接收器迁移到函数形参)。
Migrate function parameter to method receiver(将函数形参迁移到方法接收器)重构可以将函数转换为某种类型的方法。 Migrate method receiver to function parameter(将方法接收器迁移到函数形参)则相反,它可以将某种类型的方法转换为函数。
errors.Is
和 errors.As
的支持 我们实现了两项检查,它们能够高亮显示应使用 errors.Is
或 errors.As
的情况。 另外还有快速修复可以帮助您将现有代码重构为 errors.Is
或 errors.As
用法。
第一项检查可以高亮显示错误的直接比较。 在 Go 1.13 及更高版本中,可以使用 fmt.Errorf
函数和 %w
动词包装错误,并且使用相等性检查直接比较错误可能在包装的错误上失败。
检查特定错误的首选方法是使用标准库中的 errors.Is
函数。 GoLand 新增了一个快速修复,这个快速修复会建议将直接错误比较转换为 errors.Is
的用法。
第二项检查可以高亮显示错误上的类型断言和类型 switch,例如 err.(*MyErr)
或 switch err.(type)
,因为它们也可能在包装的错误上失败。
Go 1.13 及更高版本中的首选方式是使用 errors.As
。 我们的新快速修复建议将错误上的类型断言和类型 switch 转换为 errors.As
的用法。
min
、max
和 clear
的支持min
、max
和 clear
提供了基本支持。 make
的改进make
函数实参的补全 我们为 make
函数调用添加了类型感知代码补全。
make
函数实参检查 GoLand 现在可以检测 make
函数中的错误和冗余实参。 此外,还有一个用于移除冗余实参的快速修复,您可以像往常一样通过 Alt+Enter 访问。
直接在类型上调用方法时,您需要提供接收器类型作为第一个实参。 在这些情况下,GoLand 现在会将接收器作为补全建议中的第一个形参显示。
现在,类型实例化中缺少类型实参的错误消息会明确指出问题。
我们添加了 Wrap error handling in a closure(在闭包中包装错误处理)意图操作的预览。 您可以在意图操作列表打开时按 Ctrl+Q 禁用预览功能,它将保持禁用状态,直到您使用相同的快捷键将其重新启用。
for
循环中冗余条件的警告 GoLand 现在会针对 for
循环中的冗余条件显示警告消息。 还有一个快速修复可以移除冗余条件。
在此版本中,我们为 GoLand 引入了一项重要补充 – AI Assistant。 AI Assistant 当前具备一组由 AI 提供支持的初始功能,提供集成式 AI 聊天,可以自动编写文档注释、建议名称、生成提交消息等。
JetBrains AI 服务为 AI Assistant 提供技术支持,此服务目前可以连接到 OpenAI,后续还将包含其他语言模型提供商。 要访问 Assistant 的 AI 功能,您需要安装 JetBrains AI 插件并使用 JetBrains Account 登录 JetBrains AI 服务。 JetBrains AI 服务的初始可用性可能受限。 有关 AI Assistant 的更多信息以及访问说明,请访问此页面。
现在可以在 Services(服务)工具窗口中轻松访问和预览 Docker 镜像层的内容。 从列表选择镜像,选择 Show layers(显示层),然后点击 Analyze image for more information(分析镜像以获得更多信息)。 这将打开层中存储的文件列表,您可以右键点击文件,然后点击 Open File(打开文件)(对于二进制文件,则为 Download File(下载文件)),在编辑器中轻松打开所选文件。
现在,可以将 Docker 运行配置指定为 Before Launch(启动前)任务,从而在另一个配置之前运行。 IDE 将等待当前运行的容器恢复正常,然后再启动下一个运行配置。 要设置队列,首先创建所需的 Docker 运行配置,然后通过 Modify options | Add before launch task | Run configuration(修改选项 | 添加启动前任务 | 运行配置)将其添加到容器中。
我们引入了一项新功能,允许您在单个项目中设置多个 kubeconfig 文件。 这简化了处理多个集群或在同一项目中的不同集群上使用环境的体验。 转到 File | Settings | Build, Execution, Deployment | Kubernetes(文件 | 设置 | 构建、执行、部署 | Kubernetes)即可设置文件。
现在,您可以在 Services(服务)工具窗口中查看 Kubernetes 集群中的部署日志。 右键点击树中的 Deployment(部署),然后从上下文菜单中选择 Follow Log(关注日志)或 Download Log(下载日志)。
您现在可以有选择地提交代码区块的特定部分。 要执行部分提交,请选择区块中的所需行,然后从上下文菜单中调用 Include these lines into commit(将所选行包含到提交中)。 区块将被分为单独的行,所选行将被高亮显示。 您可以使用复选框或上下文菜单在选区中添加或排除行。
GoLand 2023.2 引入了与 GitLab 的集成,帮助简化您的开发工作流。 现在,您可以直接在 IDE 中使用 Merge Requests(合并请求)功能:查看请求列表、检查更改、留下评论,以及导航到相关视图。
如果您习惯了 VS Code 按键映射,现在可以在欢迎屏幕的 Customize(自定义)部分中进行选择。 您还可以在 Settings | Keymap(设置 | 按键映射)中更改按键映射。
GoLand 2023.2 添加了备受期待的功能,让您可以根据修改时间在 Project(项目)视图中排列文件。 每当项目中有更改被保存时,这个新功能就会自动重排文件。 要启用此功能,首先打开 Project(项目)视图中的竖三点菜单,然后选择 Tree Appearance | Sort by Modification Time(树外观 | 按修改时间排序)。
为了简化多个运行配置的管理,我们在 Run(运行)微件中实现了固定首选配置的选项。 要将运行配置添加到 Pinned(固定)部分,首先打开其名称旁边的竖三点菜单,然后选择 Pin(固定)。 如果有多个固定的配置,在列表中拖放即可轻松排列。
我们扩展了新 UI 主工具栏的自定义选项。 现在,您可以使用下拉菜单快速选择要添加到工具栏的操作。 为此,请右键点击任意微件,选择 Add to Main Toolbar(添加到主工具栏),然后浏览可用选项。
我们改进了 Windows 和 Linux 新 UI 中主工具栏汉堡包菜单的行为。 点击菜单图标后,元素现在水平显示在工具栏上方。 此外,现在还有一个选项可以将此菜单转换为单独的工具栏,此选项的路径为 View | Appearance | Main menu as a Separate Toolbar(视图 | 外观 | 主菜单作为单独的工具栏)。
在 Project(项目)视图中,新增了 Open Directories with Single Click(单击打开目录)选项,可以更快展开和收起项目文件夹,更快响应。 点击竖三点菜单后,可以从下拉菜单中选择该选项。
Search Everywhere(随处搜索)(按两次 Shift)主要用于搜索文件、方法、操作和设置。 在此更新后,它将包含类似于 Find in Files(在文件中查找)的文本搜索功能。 现在,当给定查询的其他搜索结果很少或没有时,将显示文本搜索结果。 此功能默认启用,可以在 Settings | Advanced Settings(设置 | 高级设置)中管理。
在 Settings | Editor | Inspections(设置 | 编辑器 | 检查)中,代码示例现在将包含语法高亮显示,让您可以更容易理解是什么触发了检查并决定使其处于有效状态还是停用状态。
为了让您可以更轻松地为特定项目配置 IDE 以及通过插件扩展其功能,我们更新了 Settings | Plugins(设置 | 插件)部分的 UI。 它现在包含一组推荐插件,根据您的项目具体情况自动定义,并在列表顶部显示。
GoLand 2023.2 引入了彩色标题,可以简化多个打开的项目之间的导航。 现在,您可以为每个项目分配唯一的颜色和图标,使其在工作区中更易区分。
标题现在默认带有预定义的颜色,但您也可以自定义。 要为项目设置新的颜色,请右键点击标题,访问上下文菜单。 选择 Change Project Color(更改项目颜色)选项,然后选择您想要的颜色。 要禁用此功能,只需在上下文菜单中取消选择 Show Project Gradient(显示项目渐变)选项。
在 v2023.2 中,我们通过引入替代的 Light with Light Header(带有浅色标题的浅色主题)选项提升了浅色主题的用户体验,该选项可为窗口标题、工具提示和通知气球提供匹配的浅色。
我们重做了 Services(服务)工具窗口中运行和调试操作的 UI,使工具栏外观与主 Run/Debug(运行/调试)微件一致。
为了方便 Linux 用户,新 UI 中移除了操作系统的原生标题,使界面更加整洁。 默认将显示自定义 IDE 标题,提供一系列工作区自定义选项。
HTTP 客户端现在能够理解 Swagger 和 OpenAPI 规范,并为 JSON 请求提供相应的代码补全选项。
您现在可以通过导入的模块共享 HTTP 客户端请求处理程序的通用 JavaScript 代码。
GoLand 现在可以直接在 HTTP 客户端的请求结果中显示 PDF 和 HTML 文件的预览。
您现在可以在 HTTP 客户端中通过传输层安全 (TLS) 发送 gRPC 请求。 TLS 提供加密和身份验证,确保数据传输的保密性和完整性。 请求语法支持 https://
和 grpcs://
架构。
在 GoLand 2023.2 中,您的错误和警告将以可读性更高的方式格式化,使代码中的问题更易发现。 这适用于所有 TypeScript 和一些最常见的 JavaScript 错误。
GoLand 现在支持 CSS 嵌套模块功能。 我们实现了语法支持和检查,用于确保嵌套选择器不以标识符或函数符号开头。
我们引入了一项新检查,旨在消除 Norway problem 并防止对 YAML 文件中布尔值的意外误解。
当列表主要由字符串组成但包含布尔式字面量时,GoLand 将高亮显示此字面量,指示潜在的不一致,并建议为其添加引号。 如果列表主要由布尔式字面量(例如 true、false、off、on、yes 或 no)组成,则偏离此模式的任何字面量都将被高亮显示为可能的错误。 不过,在这种情况下不会建议具体的快速修复。
设置 Swagger Codegen 配置时,IDE 现在将提供更好的用户体验。 我们重做了 Edit Swagger Codegen Configuration(编辑 Swagger Codegen 配置)对话框,让您可以更轻松地根据需求定制运行配置。
另外,您现在还可以直接从装订区域访问 Swagger Codegen 运行配置,无需指定额外设置。
GoLand 现已支持 OpenAPI 和 Swagger 规范文件(包括 YAML 和 JSON 文件)的 Redoc UI 预览,允许您在 IDE 内的 Redoc 和 Swagger UI 之间切换。 通过 Redocly 集成,您可以从 GoLand 中访问 Try it 控制台,使用它设置参数并向 API 发送请求。
您现在可以在 GoLand 中更方便地使用 AsyncAPI 规范格式。 IDE 支持架构验证功能,并为引用、Endpoints(端点)视图和 Editor Preview(编辑器预览)窗格提供了代码补全。
在这个版本中,我们为想要在 IDE 中使用特定 LSP 服务器提供编码辅助的插件开发者引入了 LSP API。 如果您已经创建了自己的编程语言或框架,则可以创建 LSP 服务器和插件以在 IDE 中获得支持。