RubyMine 2022.2 最新变化

对 Rails、RBS、调试器、YARD 的改进支持和多种新功能。

Rails

Rails 服务器日志中的可点击链接

Rails 开发者现在可以点击 Controller#actionViewRoute 引用的链接来导航到相应的文件。

查找、补全和导航 Rails URL

RubyMine 现在支持搜索 Rails URL。 只需在 Search Everywhere(随处搜索)对话框中输入 /url 即可查找和导航到包含所需 URL 的文件。 您还可以使用键盘快捷键:Ctrl+Shift+\

我们为 HTTP 请求引入了自动补全。 这意味着,您可以自动补全 Rails URL 并导航到相关 Routes。 补全建议还会显示可用 HTTP 请求的类型。

Endpoints(端点)工具窗口

新增的 Endpoints(端点)工具窗口提供了项目中所用客户端和服务器 API 的聚合视图。 工具窗口可以在您开发微服务和进行后端-前端通信时提供协助。 如需了解详情,请参阅这篇帮助主题

ERB 文件中 HTML 标记的更出色补全

编辑 .html.erb 文件时,您不再需要手动输入打开的 HTML 标记。 只需输入 HTML 标记的名称,RubyMine 就会提供合适的自动补全建议。 按 Tab 自动补全标记,然后继续编辑标记内的内容。

RBS

内联可见性修饰符

在此版本中,我们继续改进 RBS 支持。 从这个版本开始,RubyMine 的代码洞察将检查内联 public 和 private 可见性修饰符,以确定特性和方法声明的可见性。 我们还在结构视图中添加了每个方法的可见性修饰符。

从未知类检索类型

此前,只有在类具有 RBS 签名时,我们才会为对象提供类型。 如果缺少相应的 RBS 签名,我们只能从 Object 检索方法的类型。

未知类的类型推断已得到改进,RubyMine 现在将查找来自 Ruby 的所有已知上级的方法的类型,而不仅仅是 Object

调试器

我们改进了 RubyMine 调试器,使其在 Ruby 3 或更高版本中更加稳健。 现在,调试使用 Ruby 3 或更高版本编写的代码应该不会出现重大问题,同时,GUI 中的所有功能都可以使用,例如逐步执行代码计算表达式等。 此前调试器实现中的问题也得到了修正,如果您运行的 Ruby 版本早于 3.0,应该也可以在 RubyMine 中调试代码。 IDE 将自动建议合适的调试器实现,无需额外操作。

YARD

YARD 宏的代码洞察

从 v2022.2 开始,RubyMine 可以识别 YARD 宏扩展并为其提供常规编码辅助。

  • 对宏引用使用 Go to declaration(转到声明)操作可以跳转到相应的宏声明。
  • 调用 Find usages(查找用法)操作搜索宏声明的用法。
  • Shift+F6 重命名宏的每个用法。

注意,由于潜在性能问题,RubyMine 不支持“attach”宏。

改进了 YARD 文档的渲染

在编辑器中渲染 YARD 注释和标记时将显示更新后的外观。 我们整理了缩进和样式,使 IDE 中的代码文档更加统一。

多种新功能

运行当前文件

RubyMine 使用运行/调试配置运行、调试、部署和测试代码。 在此版本中,我们引入了一项新功能,用于运行和调试编辑器中当前打开的文件。

模式匹配局部变量的代码洞察

实体间导航、Rename(重命名)重构和 Find Usages(查找用法)等代码洞察功能现在适用于模式匹配的局部变量。

退出行注释继续

此版本添加了一个新选项,按 Enter 可以退出行注释继续。 使用 Shift+Enter 可以插入空的注释行。 您可以在 Preferences / Settings | Advanced Settings | Ruby | Delete empty line comment with Enter(偏好设置 / 设置 | 高级设置 | Ruby | 使用 Enter 删除空行注释)复选框中切换此选项。

全局更改字体大小

最近引入的键盘快捷键可以更改整个编辑器的字体大小。 要增大字体,请按 Alt+Shift+.。 要减小字体,请按 Alt+Shift+,

编辑解释器名称

如果您为不同的项目使用不同的 Ruby,现在可以在 Ruby SDK 设置中编辑解释器名称。 此功能有助于使各种 SDK 更易读,并避免在选择时产生混淆。

从 RuboCop 建议打开 Gemfile

现在,您可以直接从 Notifications(通知)工具窗口打开 Gemfile 和添加 RuboCop gem。 在 Notifications(通知)工具窗口中看到 Set up RuboCop(设置 RuboCop)建议时,点击 Add(添加)。

管理圆括号的自动插入

现在,您可以选择是否希望 RubyMine 在代码补全时自动插入圆括号。 要启用圆括号自动插入,请转到 Settings/Preferences | Editor | General | Code Completion(设置/偏好设置 | 编辑器 | 常规 | 代码补全),选中 Insert parentheses automatically when applicable(适用时自动插入圆括号)复选框。

JavaScript

对 Angular 独立组件的支持

对 Angular 独立组件的支持

我们一直在积极推进 RubyMine 中对 Angular 14 的支持。 此版本最重要的新特性是对 Angular 独立组件的支持。 RubyMine 现在可以正确识别标记为 standalone: true 的组件、指令和管道。

针对 Vue 的更新

针对 Vue 的更新

我们对 Vue 3 的支持落后于部分最新的 Vue 更新。 我们已经为此发布了多项改进,其中一部分,如 Vite 支持,此前已包含在 v2022.1 的小更新中。 RubyMine 2022.2 也包含修正。 例如,它可以理解 v-if/else 指令中的类型缩小。

TypeScript 4.7 支持

TypeScript 4.7 支持

RubyMine 2022.2 与 TypeScript 4.7 捆绑,支持在 Node.js 中使用 moduleSuffixes 和 ESM 等新语言功能。 如果 module 在 tsconfig.json 文件中被设为 node16 或 nodenext,它会自动将 .js 扩展名插入 import 语句。 此外,RubyMine 还支持 package.json 文件中的 typesVersions 字段。

功能弃用计划

此版本将不再支持部分较旧的技术和功能,包括 Rails 3、the RCov gem、JRuby 运行配置类型,以及 Zeus、Spork 和 Nailgun 预加载服务器。 有关这些决定的更多详细信息,请参阅这篇公告