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 生成名称建议。 内联使用 Rename(重命名)重构时,此操作可用。 要启用名称建议,请在 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。