代码洞察
基于符号的代码洞察引擎现在已默认启用。 它改变了 RubyMine 理解 Ruby 代码的方式,尤其是类、模块和常量。 在 RubyMine 2026.2 中,基于符号的建模已扩展到更多的代码洞察操作,提供更一致的导航、文档和搜索体验,同时不断提升性能。 未来版本计划支持方法。
用户体验
多项代码洞察功能已优化,使跨命名空间处理 Ruby 符号更加轻松和可预测。
类、模块和常量的补全
代码补全得到了显著提升,尤其是在 限定常量 方面。

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

结果按更清晰的类别进行组织,使大型结果设置更易于导航。 非代码用法按用法类型分组,包括注释、字符串文字、符号文字和纯文本文件。
重命名重构
功能 | 改进 |
|---|---|
内联重命名 | 现在可以直接在编辑器中重命名符号,无需打开模式对话框。 |
排除用法 | 在应用重命名重构前,可以从结果列表中排除特定用法,从而精确指定要重命名的引用。 |
快速文档和 Cmd/Ctrl+悬停提示
功能 | 改进 |
|---|---|
快速文档 | 快速文档现在能更清晰地展示符号定义。 类型信息会在可用处显示,相关声明以可导航链接的形式展示,方便探索陌生代码。 |
Cmd/Ctrl+悬停提示 | Cmd/Ctrl+悬停提示现在为 Ruby 符号显示更多类型信息,包括常量和全局变量。 这有助于在不打开 快速文档 的情况下检查符号定义。 |
结构视图
结构 视图在展示上有多项改进:
当容器节点没有子节点时将不会显示展开箭头。
嵌套声明会显示完整名称(如:
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%
相比以前的实现,在大型项目中占用不到 一半内存
