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 的聚合视图。 工具窗口可以在您开发微服务和进行后端-前端通信时提供协助。 You can refer to this help topic to learn more.

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

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

RBS

内联可见性修饰符

在此版本中,我们继续改进 RBS 支持。 从这个版本开始,RubyMine 的代码洞察将检查内联 public 和 private 可见性修饰符,以确定特性和方法声明的可见性。 We’ve also added per-method visibility modifiers to the structure view.

从未知类检索类型

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

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

调试器

我们改进了 RubyMine 调试器,使其在 Ruby 3 或更高版本中更加稳健。 You should now be able to debug your code written in Ruby 3 or later without any major issues while using all of the features provided in the GUI, such as stepping through the code, evaluating expressions, and more. 此前调试器实现中的问题也得到了修正,如果您运行的 Ruby 版本早于 3.0,应该也可以在 RubyMine 中调试代码。 IDE 将自动建议合适的调试器实现,无需额外操作。

YARD

YARD 宏的代码洞察

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

  • Use the Go to declaration action on a macro reference to jump to the corresponding macro declaration.
  • Search for usages of a macro declaration by invoking the Find usages action.
  • Rename every usage of a macro by pressing Shift+F6.

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

改进了 YARD 文档的渲染

Check out the updated look and feel of YARD comments and tags when rendering them in the editor. 我们整理了缩进和样式,使 IDE 中的代码文档更加统一。

多种新功能

运行当前文件

RubyMine uses run/debug configurations to run, debug, deploy, and test your code. 在此版本中,我们引入了一项新功能,用于运行和调试编辑器中当前打开的文件。

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

实体间导航、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

Now you can open your Gemfile and add the RuboCop gem right from the Notifications tool window. 在 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 预加载服务器。 有关这些决定的更多详细信息,请参阅这篇公告