GoLand 2024.1 最新变化

GoLand 2024.1 带来了多项重要的新功能:

  • 全行代码补全已经实现:本地运行、LLM 驱动的 AI 补全现在可供每个 GoLand 用户免费使用。
  • 索引编制和高亮显示的性能得到显著改进。
  • 我们打磨了 AI Assistant 并实现了升级,包括用于代码补全和文档生成的额外选项。
  • 对 Dev Container 的支持已脱离抢先体验,并在此迭代中带来多项精彩的新功能。
  • 添加了对 Go 1.22 更新的支持。

新版本还具有多项用户体验和内部工具增强。 我们来深入了解一下!

全行代码补全

GoLand 2024.1 引入了全行代码补全,这项新功能使用本地运行的上下文感知深度学习模型自动补全整行代码。 它有助于提高编码速度和效率,同时在您的设备上本地运行,不会将任何数据发送到外部服务器。 该功能在 GoLand 2024.1 中为每个用户捆绑提供。 这是体验 AI 的绝佳方式! 感兴趣吗? 阅读我们的专属博文了解更多内容!

您可以在 Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion(设置 | 编辑器 | 常规 | 代码补全 | 机器学习辅助补全)中控制这项功能并指定您想要获得全行建议的语言。

性能改进

改进的索引编制性能

GoLand 中编制索引的速度现在显著提高。 我们发现速度平均提高了 30% 左右。 每个用户的实际结果自然会有所不同,具体取决于其项目和硬件。 请随时与我们分享您的衡量结果! 以下是使用 Gin 框架编制索引的说明。

索引编制期间更多的高亮显示

通过这项增强,高亮显示现在可以直接从 IDE 启动时用于引用! 眼见为实,因此我们请您亲自查看这两个示例。

AI Assistant

JetBrains 继续致力于 AI Assistant 的开发,提供更有价值的功能和操作。 在此版本中,GoLand 为现有 AI 功能带来了两项增强。 尝试一下!

基于云的结构和接口补全

在 2023.3 中,函数和方法块获得了内联补全。 在 2024.1 中,我们还将为结构和接口声明启用内联补全。 当代码补全在类型声明中提供建议时,它会考虑用法的上下文以及父结构和引用。 这提高了基于 AI 的建议的相关性。

结构字段和接口方法的文档生成

GoLand 现在为整个类型、接口方法和结构字段生成文档。 要生成文档,将文本光标置于字段定义中的任意位置,然后选择 Write Documentation(编写文档)AI 操作。 您还可以在定义字段之前输入 // 触发建议。

用户现在可以自定义某些 AI 操作(例如生成提交消息)的提示语。 这可以带来更个性化的结果。

从 2024.1 版本开始,您可以导出包含 AI 聊天生成的代码段的文件。 在聊天中提问时,您还可以附加文件提供额外上下文。

远程开发

在 2024.1 中,IDE 为远程场景提供了改进的开发者体验:高亮显示、呈现和远程开发的整体流畅度现已接近本地编程。 您会发现云中的高亮显示和补全速度几乎与本地代码库一样快。

此外,用户现在可以直接从 IDE 客户端管理远程项目,以及创建新的远程项目或打开现有项目。

Dev Container

现在,用户可以从欢迎屏幕(从本地磁盘或 VCS)运行开发容器。 此前,需要先打开项目。

开发容器现在附带适用于所有主流编程语言的文件模板。

添加的设置允许用户直接在 devcontainer.json 文件中配置其 JetBrains 后端 IDE(例如 GoLand 或 CLion)。

在 GoLand 2024.1 版本中,无论 devcontainer.json 文件存储在项目中的哪个位置都将被识别。 此前,它们需要存储在 ~/.devcontainer 文件夹中。

对 Go 1.22 更新的支持

随着 Go 语言不断发展,我们希望尽快为所有新语言功能提供支持。

对整数和函数的 range 的支持

Go 1.22 提供的这项功能可供轻松迭代整数和函数,比经典 for 循环更加简洁。

对 Go 工作区的 vendoring 支持

vendoring 将依赖项存储在项目仓库中,可以让您更好地控制项目中使用的依赖项。 在 Go 1.22 中,工作区中的命令可以使用包含工作区依赖项的 vendor 目录。 GoLand 现已支持这项改进。

数据流分析 (DFA) 更新

数据流分析在 GoLand 2023.3 中引入,在 2024.1 中,功能已完善到可以默认打开。 GoLand 的 DFA 目前支持三种检查:Constant conditions detection(常量条件检测)、Potential nil dereference(潜在 nil 取消引用)和 Error may be not nil(错误可能不为 nil)。 在我们的博文中详细了解这些发展。

增强的 Terraform 支持

Terraform 面向开发者、站点可靠性工程师 (SRE) 和 DevOps 专家,我们对 Terraform 基础架构即代码开发支持引入了重大改进。 此更新包括一系列新功能和增强功能,旨在简化创建、管理和扩缩基础架构的过程。

运行 terraform init 的建议

要使用 Terraform 代码文件初始化工作目录,我们必须首先运行 terraform init。 这一点经常被忽视,导致 Terraform 本身出现错误消息,以及不完整的代码自动补全和仅部分显示的文档。 为了避免这种情况,IDE 现在明确建议运行 terraform init

在 Terraform 注册表中对第三方提供程序的支持

Terraform 插件现在为超过 3,900 个第三方 Terraform 提供程序提供扩展的代码补全,使开发者能够更轻松地高效编写代码。 此外,您还可以直接在 IDE 中找到每个提供程序的最新文档及其特定版本。

这可以让您在 IDE 内探索新的 Terraform 提供程序并更快了解其功能。

Terraform 模板语言 (tftpl) 支持

我们很高兴推出对 Terraform 模板语言 (tftpl) 的支持,通过配置文件、脚本或任何程序代码(例如 Web 服务器、网络或服务配置)增强工作流。 制作模板更加简单! 现在,您可以在运行时在模板中动态填充值,简化为特定用途呈现模板的过程。

Terraform 的模板语言不仅支持变量模板和控制流元素,还包含列表和映射,以及生成 JSON 和 YAML 格式的功能。

用户体验和其他功能

新终端

GoLand 2024.1 附带彻底重做的终端,这个新终端融合了视觉和功能增强,使基于终端的任务更简单、更方便。 它提供了方便的历史记录和轻松的块导航、以及针对每个可用命令的提示。

新的 Terminal(终端)工具窗口与新 UI 无缝集成,与 IDE 的新外观保持一致,并提供命令补全功能,支持命令、路径、实参和选项。 有关详情,请阅读我们的专属博文

用于缩小整个 IDE 的选项

GoLand 2024.1 提供了缩小整个 IDE 的选项。 最初,缩放范围仅包括放大到 100% 到 200% 之间的选项。 在当前版本中,您可以将 IDE 缩小到 90%、80% 或 70%。

编辑器中的粘性行

为了简化大文件的处理和新代码库的探索,我们在编辑器中引入了粘性行。 滚动时,此功能会将类或方法的开头等关键结构元素固定到编辑器顶部。 这将使作用域始终保持在视野中,您可以点击固定的行快速浏览代码。

VCS 更新

编辑器内代码审查

现在,GoLand 为 GitHub 和 GitLab 用户提供了更加简化和敏捷的代码审查工作流。 得益于新审查模式的实现,作者和审查者现在可以直接在编辑器中无缝互动。 了解详情

Git 工具窗口中的 CI 检查状态

我们在 Git 工具窗口的 Log(日志)标签页中引入了一个新列,使您可以轻松审查 CI 系统执行的 GitHub 提交检查的结果。 点击标签页即可查看 CI 检查的完整详细信息。

待处理 GitHub 更新的可视化指示器

我们引入了可视化指示器来提示代码审查工作流中待处理的更新。 有需要您注意的更改时,工具窗口的图标上会出现一个蓝点徽章。 此外,未查看的拉取请求将用蓝点标记,确保您不会错过代码审查流程中的更新。

Web 和数据库增强功能

GoLand 继承了 WebStorm 和 DataGrip IDE 的更新。 对 Web 开发或数据库的更新和功能感兴趣? 赶快试试吧!