RubyMine 2025.2 Help

RBS

RubyMine 支持 RBS 语言,用于描述 Ruby 程序中使用的类型。 RubyMine 识别 .rbs 文件,并提供以下编码辅助功能:

RBS 提供了一套内置的标准库类型签名。 当您在项目中使用 RBS 时,RubyMine 会在外部库中显示其来源。

RubyMine 还可以处理您的 rbs_collection.lock.yaml 文件。 在这种情况下,RubyMine 将确定哪些类型签名将被加载并用于代码洞察。 有关更多信息,请参阅 文档

RBS 类型签名

RubyMine 支持 RBS 类型签名,并使用它们来确定 Ruby 元素的类型。 这有助于您在 Ruby 中开发代码时获得更好的代码洞察体验。

如果您的项目中有 RBS 文件,RubyMine 提供:

  • 更好的方法补全

    在调用代码补全时,RubyMine 会将适当类的方法显示在列表的开头。

    使用 RBS 的方法名称补全
  • Ruby 补全中的 RBS 额外声明

    当您的 Ruby 文件中缺少时,RubyMine 会识别来自 RBS 的额外声明。 这对于广泛使用反射的项目特别有益,因为它允许这些声明仍然出现在补全中。 该功能适用于类、模块、常量、方法和变量。

    来自 RBS 的额外声明
  • 改进的导航操作

    当您调用“跳转到声明”操作时,RubyMine 会将您导航到确切的声明,而不是提供一个声明列表供您选择。

  • 查找相应声明的用法

    通过 RBS 类型,RubyMine 可以找到 Ruby 元素的正确声明。 当您调用“重构”操作时,RubyMine 会立即找到相应声明的用法,而不是给您一个声明列表供选择。

    使用 RBS 查找用法
  • 一致的重命名重构

    当 RubyMine 使用 RBS 时,它只会建议重命名相关实体,而不是显示所有可能的选项。

    使用 RBS 重命名重构

查看类型信息

  • 提供 RBS 签名后,RubyMine 使用它们来确定 Ruby 元素的类型。 要查看元素类型,请将插入点放在所需的 Ruby 元素上,然后转到主菜单中的 视图 | 类型信息 Ctrl+Shift+P

    正在查看类型信息

查看参数信息

RubyMine 使用 RBS 签名在 参数信息 弹窗中显示方法参数的类型。 默认情况下,当您在编辑器中键入左括号或从建议列表中选择方法时,RubyMine 会自动显示弹窗。

  • 要显式调用 参数信息 弹窗,请转到主菜单中的 视图 | 形参信息 Ctrl+P

    查看参数信息

检查类型是否匹配

  • 当您尝试使用与 RBS 文件中的类型不一致的类型时,RubyMine 会发出警告。

    不兼容的参数类型

    您可以使用 类型不匹配 检查 来管理这些警告。 检查适用于:

    • 常量赋值

    • 实例变量和类变量的赋值(包括单例类/方法中的实例变量)

    • 方法和块中的参数赋值

    • 方法和块的返回值

    • 方法和 yield 调用中的参数

查看快速文档

您可以使用 快速文档 获取有关使用中的 RBS 签名的信息。

  1. 在编辑器中将鼠标悬停在所需符号上。

  2. 将文本光标放在符号处并按 Ctrl+Q 或从主菜单中选择 查看 | 快速文档

    再次按下 Ctrl+Q 键,以在 文档 工具窗口中打开此文档。

  3. 请在弹出窗口中点击 显示选项菜单图标 更改字体大小、显示快速文档工具栏或转到源代码。

RBS 集合

RubyMine 具有与 RBS 集合 的内置集成,这是一个由社区管理的 RBS 文件集合,适用于不包含自身类型签名的 gem。 通过此集成,即使您未显式使用 RBS,也可以从项目依赖项的类型签名中受益。 RubyMine 在后台无缝下载这些类型签名,从而改进项目中所有 gem 的类型支持和代码洞察。

您可以在 外部库 节点下的 rbs_collection [bundled] 中找到下载的类型签名。

该功能默认启用,并要求您的项目解释器中安装版本为 3.2 或更高的 RBS gem。 虽然 Ruby 3.4 附带兼容版本,但如果您的解释器使用的是较早的 RBS 版本或未安装该 gem,RubyMine 将显示通知,提示安装最新版本。

从通知中安装 RBS

创建一个 RBS 文件

  1. 在项目视图 Alt+1 中,选择您想要创建新 RBS 文件的目录。

  2. Alt+Insert 并从弹窗中选择 RBS 文件/类

    创建一个新的 RBS 文件

    作为另一种选择,从主菜单中选择 文件 | 新建 | RBS 文件/类

  3. 请指定文件名并按 Enter

生成一个 RBS 原型

RubyMine 提供了一种工具,可以从您的 Ruby 代码生成简单的 签名原型。 这些原型可能有助于了解如何开始向项目中添加新的 RBS 类型。

  1. 打开一个您想要为其生成类型签名的 Ruby 文件。

  2. 在主菜单中,前往 代码 | 生成 Alt+Insert

  3. 生成 弹窗中选择 类型签名

    生成一个 RBS 原型

    RubyMine 将生成一个与您的 Ruby 文件同名的新 RBS 文件。 生成的原型中包含的所有类型都被指定为 untyped。 您可以将它们用作编写类型签名的模板。

使用快速修复添加缺失的类型签名

您始终可以使用“缺失类型签名”检查的快速修复来添加缺失的类型签名。 RubyMine 将导航到现有的 RBS 文件,或者在必要时创建一个新的 RBS 文件,并生成相应的签名模板。

  1. 将插入点放在缺少类型签名的 Ruby 符号上。

  2. Alt+Enter 或单击问题行上的 意向操作按钮 图标。

    添加缺失的类型签名
  3. 从菜单中选择 添加类型签名 修复。

  4. 在打开的 RBS 文件中,更新类型签名。

编辑类型签名

RubyMine 允许您使用专用的意图操作或“类型不匹配”检查的快速修复,从 Ruby 文件中编辑类型签名。

  1. 将插入点放在您想要编辑类型签名的 Ruby 符号上。

  2. Alt+Enter 并从菜单中选择 编辑类型签名

    使用意图编辑类型签名
    使用快速修复编辑类型签名
  3. 在打开的 RBS 文件中,更新类型签名。

查看 RBS 文件的结构

您可以使用 结构 工具窗口 Alt+7 检查 RBS 文件的高级结构。

结构工具窗口

在 Ruby 和 RBS 文件之间导航

RubyMine 使您能够从 Ruby 声明导航到其类型签名,反之亦然。 导航功能适用于:

  • 属性(目前仅支持从 RBS 导航到 Ruby)

  • 类、模块和常量

  • 类变量和实例变量

  • 全局变量

  • 方法(包括 singleton

转到类型签名

  • 选择一个 Ruby 声明并转到 导航 | 类型签名 以导航到其类型签名。

    在 Ruby 声明及其类型签名之间导航

转到关联的 Ruby 声明

  • 选择一个类型签名并转到 导航 | 关联的声明 以导航到关联的 Ruby 声明。

    在 RBS 签名和关联的 Ruby 声明之间导航

使用意图操作导航

  1. 将插入点放在所需元素上并按 Alt+Enter

  2. 从列表中选择操作以导航到所需的类型签名或关联的声明。 按 Enter 应用意图操作。

    使用意图操作导航

导航到相关的 Ruby 或 RBS 元素

  1. 将插入点放在所需元素上,然后转到主菜单中的 导航 | 相关符号 Ctrl+Alt+Home

  2. 如果需要,从弹窗中选择所需的目标。

    导航到相关的 Ruby 元素

使用 Steep 检查 Ruby 类型

RubyMine 支持使用 运行任意内容 执行 Steep 命令。 在使用 Steep 之前,请确保将 steep gem 添加到您的 Gemfile

gem 'steep'

安装 Steep 后,您需要为项目生成一个 Steepfile

生成并配置 Steepfile

  1. 按两次 Ctrl

  2. 在搜索字段中开始输入 steep init。 从建议列表中选择命令并按 Enter。 RubyMine 将为您的项目生成一个 Steepfile

  3. 打开并编辑生成的 Steepfile 。 例如:

    target :lib do check "lib" signature "sig" library "set", "pathname" end

运行类型检查

  1. 按两次 Ctrl

  2. 在搜索字段中开始输入 steep check。 从建议列表中选择命令并按 Enter

    RubyMine 将在 运行 工具窗口中显示命令输出。

    在运行工具窗口中显示命令输出

配置代码样式设置

RubyMine 对 Ruby 和 RBS 使用相同的代码样式设置。 要自定义 RBS 的 代码样式

  1. 设置 对话框 (Ctrl+Alt+S) 中,前往 编辑器 | 代码样式 | Ruby

  2. 配置所需的代码样式设置。

配置语法高亮

RubyMine 使用 Ruby 配色方案来高亮显示 RBS 文件中的语法。

您可以根据自己的偏好和习惯配置支持 RBS 的语法高亮。

  1. 设置 对话框 (Ctrl+Alt+S) 中,前往 编辑器 | 配色方案 | Ruby

  2. 选择颜色方案,接受从默认设置继承的高亮设置,或按照 颜色和字体 中的描述自定义它们。

最后修改日期: 2025年 9月 26日