RubyMine 2026.1 Help

代码洞察

RubyMine 2026.1 引入了全新的 基于符号的语言建模引擎 用于 Ruby。

此实验性引擎改变了 RubyMine 理解 Ruby 代码的方式,尤其是 模块常量。 未来版本计划支持方法。

新引擎带来了三个主要改进:

  • 更清晰且更一致的代码洞察

  • 更好地处理动态 Ruby 构造

  • 关键 IDE 操作的性能更快

代码洞察功能的用户体验改进

多项代码洞察功能已优化,使跨命名空间处理 Ruby 符号更加轻松和可预测。

类、模块和常量的补全

代码补全得到了显著提升,尤其是在 限定常量 方面。

新代码补全

功能

改进

跨命名空间的模糊搜索

补全现在支持跨命名空间的模糊搜索,即使只输入部分限定名称片段,也能定位到符号。

此行为类似于 全域搜索 ,无需输入完整命名空间即可查找符号。

命名空间感知补全

当已输入命名空间前缀时,补全只会显示该命名空间中的元素。

例如,RubyMine 只会建议在 Foo 内部声明的元素。 该命名空间内的模糊匹配仍然有效。

限定名称的自动缩写

插入补全结果时,RubyMine 会判断名称能否在不影响解析的情况下缩写。

缩短限定名称

如果选中了 Foo::Bar ,当短名称能正确解析时,RubyMine 将插入 柱状图 ,而不是完全限定名称。

补全展示

补全弹窗现在能更清楚地显示所建议元素的信息。

  • 每项右侧显示完全限定名称

  • 补全项包含上下文专属图标

支持的图标类型示例如下:

  • 异常

  • Rails 模型

  • Rails 控制器

  • Rails 邮件器

查找用法

查找用法 结果视图已更新,更便于浏览结果。

新版查找用法结果视图

功能

改进

更清晰的结果分组

用法现在被组织成不同章节: 用法可能用法文本出现

将可能用法与已确认结果分离,能减少大型项目中的干扰。

文本出现

查找用法 现在可以检测注释和字符串中的出现位置。

这些内容会显示在单独的 文本出现 章节。 符号文字也会分组显示。

重命名重构

功能

改进

内联重命名

现在可以直接在编辑器中重命名符号,无需打开模式对话框。

排除用法

在应用重命名重构前,可以从结果列表中排除特定用法,从而精确指定要重命名的引用。

快速文档和悬停提示

功能

改进

快速文档

当某符号有多个声明时,快速文档将分别以不同页面显示,而非合并为单一视图。

悬停提示

悬停提示现在会提供:

  • 语法高亮

  • 更清晰的格式设置

  • 当存在多个声明时,导航目标更准确

结构视图

结构 视图在展示上有多项改进:

  • 当容器节点没有子节点时将不会显示展开箭头。

  • 嵌套声明会显示完整名称(如: Bar1::Baz1)。

  • 定义为 class << self 的单例类将显示为 << self

  • 绝对引用现在会显示 :: 前缀。

  • 具有相同简单名称的条目不再被隐藏。

  • 单例类现在会使用匿名类图标。

  • 继承成员,包括单例类,现在能正确且自然地显示,同时位置格式设置得到改进。

新结构视图

导航

功能

改进

转到声明

新实现取代了旧的引用机制,并为其他代码洞察功能(如 查找用法重命名快速文档 )提供基础。 限定名称解析也更快,因为 RubyMine 现在只加载相关符号,而不是整个模型。

跳转到类型声明

导航现在可用于以前无法工作的情况,如类和模块常量、RBS 类型以及如 union 这样的复杂类型。

在类或模块上调用时,导航现在会优先进入单例类(如果存在);否则将导航到常规类或模块定义。

改进对动态 Ruby 构造的处理

新引擎还提升了对未在 Ruby 源文件中显式声明符号的代码洞察能力。

这包括通过框架约定、类型定义和动态 Ruby 构造引入的符号。 这些符号现在能够被代码洞察识别,并在整个 IDE 中更加一致地工作。

从项目结构推断 Rails 命名空间

由 Rails 项目结构推断的模块现在会被识别为命名空间。

# app/models/admin/user.rb class Admin::User < ApplicationRecord end

在本示例中, Admin 命名空间会被检测并作为常规模块处理。

由于该模块源自目录结构而非显式 Ruby 声明,所以不支持重命名重构。

来自 RBS 类型签名的符号

RBS 类型签名文件中定义的符号现已纳入代码洞察。

# main.rb Book.new.read # book.rbs class Book include Readable end module Readable def read: -> untyped end

BookReadable 等符号会从 RBS 被识别并加入模型。

类和模块别名

IDE 现在会跟踪指向动态创建类和模块的别名。

ClassAlias = Class.new do; end ModuleAlias = Module.new do; end class Example < ClassAlias include ModuleAlias end

这些别名作为类和模块符号在相关上下文中被识别和使用,包括超类声明和 include 调用。

性能改进

新建模引擎提升了多项代码洞察功能的性能。

补全基准测试

  • 限定首元素常量补全:大约 快 40%

  • 常量补全总用时:大约 快 50%

  • 类型匹配补全(异常类):大约 快 95%

查找用法基准测试

  • 大型项目测试用例:大约 快 60%

  • 典型场景:大约 快 15%

2026年 3月 24日