RBS
RubyMine 支持 RBS 语言,用于描述 Ruby 程序中使用的类型。 RubyMine 识别 .rbs 文件,并提供以下编码辅助功能:
RBS 提供了一套内置的标准库类型签名。 当您在项目中使用 RBS 时,RubyMine 会在外部库中显示其来源。
RubyMine 还可以处理您的 rbs_collection.lock.yaml 文件。 在这种情况下,RubyMine 将确定哪些类型签名将被加载并用于代码洞察。 有关更多信息,请参阅 文档。
RBS 类型签名
RubyMine 支持 RBS 类型签名,并使用它们来确定 Ruby 元素的类型。 这有助于您在 Ruby 中开发代码时获得更好的代码洞察体验。
如果您的项目中有 RBS 文件,RubyMine 提供:
更好的方法补全
在调用代码补全时,RubyMine 会将适当类的方法显示在列表的开头。

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

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

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

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

查看参数信息
RubyMine 使用 RBS 签名在 参数信息 弹窗中显示方法参数的类型。 默认情况下,当您在编辑器中键入左括号或从建议列表中选择方法时,RubyMine 会自动显示弹窗。
要显式调用 参数信息 弹窗,请转到主菜单中的 Ctrl+P。

检查类型是否匹配
当您尝试使用与 RBS 文件中的类型不一致的类型时,RubyMine 会发出警告。

您可以使用 类型不匹配 检查 来管理这些警告。 检查适用于:
常量赋值
实例变量和类变量的赋值(包括单例类/方法中的实例变量)
方法和块中的参数赋值
方法和块的返回值
方法和
yield调用中的参数
查看快速文档
您可以使用 快速文档 获取有关使用中的 RBS 签名的信息。
在编辑器中将鼠标悬停在所需符号上。
将文本光标放在符号处并按 Ctrl+Q 或从主菜单中选择 。
再次按下 Ctrl+Q 键,以在 文档 工具窗口中打开此文档。
请在弹出窗口中点击
更改字体大小、显示快速文档工具栏或转到源代码。
RBS 集合
RubyMine 具有与 RBS 集合 的内置集成,这是一个由社区管理的 RBS 文件集合,适用于不包含自身类型签名的 gem。 通过此集成,即使您未显式使用 RBS,也可以从项目依赖项的类型签名中受益。 RubyMine 在后台无缝下载这些类型签名,从而改进项目中所有 gem 的类型支持和代码洞察。
您可以在 外部库 节点下的 rbs_collection [bundled] 中找到下载的类型签名。
该功能默认启用,并要求您的项目解释器中安装版本为 3.2 或更高的 RBS gem。 虽然 Ruby 3.4 附带兼容版本,但如果您的解释器使用的是较早的 RBS 版本或未安装该 gem,RubyMine 将显示通知,提示安装最新版本。

创建一个 RBS 文件
在项目视图 Alt+1 中,选择您想要创建新 RBS 文件的目录。
按 Alt+Insert 并从弹窗中选择 RBS 文件/类。

作为另一种选择,从主菜单中选择 。
请指定文件名并按 Enter。
生成一个 RBS 原型
RubyMine 提供了一种工具,可以从您的 Ruby 代码生成简单的 签名原型。 这些原型可能有助于了解如何开始向项目中添加新的 RBS 类型。
打开一个您想要为其生成类型签名的 Ruby 文件。
在主菜单中,前往 Alt+Insert。
在 生成 弹窗中选择 类型签名。

RubyMine 将生成一个与您的 Ruby 文件同名的新 RBS 文件。 生成的原型中包含的所有类型都被指定为
untyped。 您可以将它们用作编写类型签名的模板。
使用快速修复添加缺失的类型签名
您始终可以使用“缺失类型签名”检查的快速修复来添加缺失的类型签名。 RubyMine 将导航到现有的 RBS 文件,或者在必要时创建一个新的 RBS 文件,并生成相应的签名模板。
将插入点放在缺少类型签名的 Ruby 符号上。
按 Alt+Enter 或单击问题行上的
图标。
从菜单中选择 添加类型签名 修复。
在打开的 RBS 文件中,更新类型签名。
编辑类型签名
RubyMine 允许您使用专用的意图操作或“类型不匹配”检查的快速修复,从 Ruby 文件中编辑类型签名。
将插入点放在您想要编辑类型签名的 Ruby 符号上。
按 Alt+Enter 并从菜单中选择 编辑类型签名。


在打开的 RBS 文件中,更新类型签名。
查看 RBS 文件的结构
您可以使用 结构 工具窗口 Alt+7 检查 RBS 文件的高级结构。

在 Ruby 和 RBS 文件之间导航
RubyMine 使您能够从 Ruby 声明导航到其类型签名,反之亦然。 导航功能适用于:
属性(目前仅支持从 RBS 导航到 Ruby)
类、模块和常量
类变量和实例变量
全局变量
方法(包括
singleton)
转到类型签名
选择一个 Ruby 声明并转到 以导航到其类型签名。

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

使用意图操作导航
将插入点放在所需元素上并按 Alt+Enter。
从列表中选择操作以导航到所需的类型签名或关联的声明。 按 Enter 应用意图操作。

导航到相关的 Ruby 或 RBS 元素
将插入点放在所需元素上,然后转到主菜单中的 Ctrl+Alt+Home。
如果需要,从弹窗中选择所需的目标。

使用 Steep 检查 Ruby 类型
RubyMine 支持使用 运行任意内容 执行 Steep 命令。 在使用 Steep 之前,请确保将 steep gem 添加到您的 Gemfile 。
在 安装 Steep 后,您需要为项目生成一个 Steepfile 。
生成并配置 Steepfile
按两次 Ctrl。
在搜索字段中开始输入
steep init。 从建议列表中选择命令并按 Enter。 RubyMine 将为您的项目生成一个 Steepfile 。打开并编辑生成的 Steepfile 。 例如:
target :lib do check "lib" signature "sig" library "set", "pathname" end
运行类型检查
按两次 Ctrl。
在搜索字段中开始输入
steep check。 从建议列表中选择命令并按 Enter。RubyMine 将在 运行 工具窗口中显示命令输出。

配置代码样式设置
RubyMine 对 Ruby 和 RBS 使用相同的代码样式设置。 要自定义 RBS 的 代码样式:
在 设置 对话框 (Ctrl+Alt+S) 中,前往 。
配置所需的代码样式设置。
配置语法高亮
RubyMine 使用 Ruby 配色方案来高亮显示 RBS 文件中的语法。
您可以根据自己的偏好和习惯配置支持 RBS 的语法高亮。
在 设置 对话框 (Ctrl+Alt+S) 中,前往 。
选择颜色方案,接受从默认设置继承的高亮设置,或按照 颜色和字体 中的描述自定义它们。