代码洞察
RubyMine 2026.1 引入了全新的 基于符号的语言建模引擎 用于 Ruby。
此实验性引擎改变了 RubyMine 理解 Ruby 代码的方式,尤其是 类、 模块 和 常量。 未来版本计划支持方法。
新引擎带来了三个主要改进:
更清晰且更一致的代码洞察
更好地处理动态 Ruby 构造
关键 IDE 操作的性能更快
代码洞察功能的用户体验改进
多项代码洞察功能已优化,使跨命名空间处理 Ruby 符号更加轻松和可预测。
类、模块和常量的补全
代码补全得到了显著提升,尤其是在 限定常量 方面。

功能 | 改进 |
|---|---|
跨命名空间的模糊搜索 | 补全现在支持跨命名空间的模糊搜索,即使只输入部分限定名称片段,也能定位到符号。 此行为类似于 全域搜索 ,无需输入完整命名空间即可查找符号。 |
命名空间感知补全 | 当已输入命名空间前缀时,补全只会显示该命名空间中的元素。 例如,RubyMine 只会建议在 |
限定名称的自动缩写 | 插入补全结果时,RubyMine 会判断名称能否在不影响解析的情况下缩写。 ![]() 如果选中了 |
补全展示 | 补全弹窗现在能更清楚地显示所建议元素的信息。
支持的图标类型示例如下:
|
查找用法
查找用法 结果视图已更新,更便于浏览结果。

功能 | 改进 |
|---|---|
更清晰的结果分组 | 用法现在被组织成不同章节: 用法、 可能用法 和 文本出现。 将可能用法与已确认结果分离,能减少大型项目中的干扰。 |
文本出现 | 查找用法 现在可以检测注释和字符串中的出现位置。 这些内容会显示在单独的 文本出现 章节。 符号文字也会分组显示。 |
重命名重构
功能 | 改进 |
|---|---|
内联重命名 | 现在可以直接在编辑器中重命名符号,无需打开模式对话框。 |
排除用法 | 在应用重命名重构前,可以从结果列表中排除特定用法,从而精确指定要重命名的引用。 |
快速文档和悬停提示
功能 | 改进 |
|---|---|
快速文档 | 当某符号有多个声明时,快速文档将分别以不同页面显示,而非合并为单一视图。 |
悬停提示 | 悬停提示现在会提供:
|
结构视图
结构 视图在展示上有多项改进:
当容器节点没有子节点时将不会显示展开箭头。
嵌套声明会显示完整名称(如:
Bar1::Baz1)。定义为
class << self的单例类将显示为<< self。绝对引用现在会显示
::前缀。具有相同简单名称的条目不再被隐藏。
单例类现在会使用匿名类图标。
继承成员,包括单例类,现在能正确且自然地显示,同时位置格式设置得到改进。

导航
功能 | 改进 |
|---|---|
转到声明 | 新实现取代了旧的引用机制,并为其他代码洞察功能(如 查找用法、 重命名 和 快速文档 )提供基础。 限定名称解析也更快,因为 RubyMine 现在只加载相关符号,而不是整个模型。 |
跳转到类型声明 | 导航现在可用于以前无法工作的情况,如类和模块常量、RBS 类型以及如 union 这样的复杂类型。 在类或模块上调用时,导航现在会优先进入单例类(如果存在);否则将导航到常规类或模块定义。 |
改进对动态 Ruby 构造的处理
新引擎还提升了对未在 Ruby 源文件中显式声明符号的代码洞察能力。
这包括通过框架约定、类型定义和动态 Ruby 构造引入的符号。 这些符号现在能够被代码洞察识别,并在整个 IDE 中更加一致地工作。
从项目结构推断 Rails 命名空间
由 Rails 项目结构推断的模块现在会被识别为命名空间。
在本示例中, Admin 命名空间会被检测并作为常规模块处理。
由于该模块源自目录结构而非显式 Ruby 声明,所以不支持重命名重构。
来自 RBS 类型签名的符号
RBS 类型签名文件中定义的符号现已纳入代码洞察。
像 Book 和 Readable 等符号会从 RBS 被识别并加入模型。
类和模块别名
IDE 现在会跟踪指向动态创建类和模块的别名。
这些别名作为类和模块符号在相关上下文中被识别和使用,包括超类声明和 include 调用。
性能改进
新建模引擎提升了多项代码洞察功能的性能。
补全基准测试
限定首元素常量补全:大约 快 40%
常量补全总用时:大约 快 50%
类型匹配补全(异常类):大约 快 95%
查找用法基准测试
大型项目测试用例:大约 快 60%
典型场景:大约 快 15%
