RubyMine 2023.3 最新变化

改进的 AI Assistant 支持、Rails 应用程序和引擎的自定义路径、对 Rails 7.1 严格 locals 的代码洞察、RBS 中的额外声明、针对调试器类型呈现器的更新、服务器模式下的 RuboCop、Brakeman 代码检查等。

AI Assistant 正式版

JetBrains 的 AI Assistant 现已全面推出,搭载大量新功能和改进,助力提高您在 JetBrains IDE 中的工作效率。

AI-generated name suggestions

对 AI 生成名称建议的支持

现在,您可以为 Ruby 代码中的局部变量和形参启用 AI 生成名称建议。当您使用 重命名 重构时,此操作可用。要启用名称建议,请在 Settings | Tools | AI Assistant(设置 | 工具 | AI Assistant)下选中 Provide AI-generated name suggestions(提供 AI 生成名称建议)复选框。

AI assistant context

改进了 Ruby 上下文

我们持续改进 Ruby 上下文以及 LLM 分析代码库的方式。这些更改会影响 AI Assistant 生成文档、解释 Ruby 代码、识别文件内容等的方式。

单元测试生成

单元测试生成

借助 AI Assistant,您可以为 Ruby 或 Rails 应用程序中的 public 方法轻松生成测试。选择要通过测试覆盖的方法,然后按 ⌥ + Enter (macOS) 或 Alt + Enter (Windows)。在上下文菜单中,选择 AI Actions(AI 操作),然后选择 Generate Unit Tests(生成单元测试)。

通过 JetBrains AI Service订阅,将 RubyMine 中的 AI Assistant 作为补充功能使用。

Rails

Custom paths for Rails

Rails 应用程序和引擎的自定义路径

当您在 Rails 应用程序和引擎中使用自定义路径时,RubyMine 能够识别。除了默认路径,例如 appapp/controllersapp/models,如果配置,IDE 还可以识别项目中的其他位置。这使您能够重新定义默认结构,并且继续受益于 RubyMine 的代码洞察功能。要设置自定义路径,请导航至 Settings | Languages & Frameworks | Rails | Paths(设置 | 语言和框架 | Rails | 路径)。

Rails 路径的自动导入

Rails 路径的自动导入

我们实现了一个新选项来自动检测 Rails 应用程序中的自定义路径。每次打开项目时,RubyMine 都会尝试在后台导入 Rails 路径配置。

Code insight for elements outside default location

对存储在默认位置之外的模型、控制器和邮件器的代码洞察

所有您喜欢的代码洞察功能,例如导航和类型支持,现在都可以与模型、控制器和邮件器一起运作,即使它们位于默认目录之外。

Strict locals

对 Rails 7.1 严格 locals 的代码洞察

RubyMine 现在支持严格 locals 的解析、补全、Find Usages(查找用法)、Rename(重命名)和导航功能。

类型推断

Type provision for self-type bindings

块内自定义自类型的类型信息

RubyMine 现在支持从 RBS 到 Ruby 自定义块的自类型。此功能对 DSL 有益,并将帮助 RubyMine 进行识别,增强代码洞察。

Annotation to specify self-type of blocks

指定块的自类型的自定义注解

现在,通过使用类似 YARD 的注释,您可以直接在其中显式声明块的自类型。

Extra declarations from RBS

对 RBS 中额外声明的支持

我们实现了对识别 Ruby 文件没有 RBS 中的额外声明的基本支持。这对于广泛使用反射的项目特别有利,因为它允许这些声明在补全和其他 RubyMine 功能中仍然存在。此功能可用于类、模块、常量、方法和变量。

调试器

调试器类型渲染器

针对调试器类型呈现器的更新

您不再需要重新启动调试器即可将更改应用到类型呈现器。点击 Apply(应用)按钮,RubyMine 即可立即重新加载它们。

工具和库

Rubocop server mode

服务器模式下的 RuboCop

RubyMine 支持在服务器模式下自动运行 RuboCop。要使此功能正常运作,应确保满足以下要求:

  • Linux 或 MacOS
  • 本地 Ruby MRI 2.3 或更高版本
  • RuboCop 1.31 或更高版本
Brakeman

Brakeman 代码检查

现在,您可以在 RubyMine 中以人性化格式方便地查看 Brakeman 的洞察。轻松访问 Brakeman 的文档、信心指标等,及时解决安全问题。确保已经安装 brakeman gem,然后转到 Code | Analyze Code | Run inspection by name(代码 | 分析代码 | 通过名称运行检查)并启动分析。

rspec-parameterized

使用 rspec-parameterized 的形参化规格

RubyMine 提供对 RSpec::Parameterized 语法的全面支持,包括识别、解析和补全建议。我们还实现了运行/调试配置来增强测试体验。

let_it_be support

使用 let_it_be 的固定例程声明

我们使用 let_it_be 块在 RSpec 测试中添加了对固定例程声明的支持。这包括变量解析、语法高亮显示、 before_alldo 块插入的自动处理等功能。要启用该功能,您需要安装 test-prof gem。