RubyMine 2019.2 最新变化

RubyMine 2019.2 添加了对 Rails 6 和 Ruby 2.7 的支持,改进了 YARD 支持和调试器,并整合了许多平台改进。

调试器

调试器速度比较 v2019.1 v2019.2

更快的调试器

我们的调试器使用跟踪点:逐行跟踪程序执行的代码行。 对于 v2019.2,我们设计了 MRI 的原生扩展,使调试器可以选择 执行到什么代码段的时候应该暂停,并且从头释放 剩余代码。 因此,我们能够大大加快调试器的速度并实现 以下新功能。

Smart Step Into (智能单步执行)

Smart Step Into (智能单步执行)

之前,如果您在调试会话中偶然发现一行包含许多方法的代码,RubyMine 只能单步调试该行中的第一个方法。 新添加的 Smart Step Into 消除了这种限制并允许您单步调试和调查同一行中的每一个特定方法或块调用。

块断点

块断点

借助新版本,您不仅可以在行级别还能在块级别设置断点。 当您点击左装订区域在包含块的行中设置断点时,RubyMine 将询问您想要在行、块还是两者中设置断点。

阅读在 RubyMine 中进行调试,详细了解如何在 RubyMine 中调试 Ruby 和 Rails 脚本。

Ruby 2.7

模式匹配

RubyMine 2019.2 支持模式匹配,此功能在 Ruby 2.7 的第一个预览版中作为一项实验性功能引入。 IDE 可以识别新语法并帮助您导航、查找用例和重命名对象。

详细了解 Ruby 中的模式匹配

编号块参数

编号块参数

新版本的 RubyMine 可以识别编号参数的语法并显示/查找其用例。 这是 Ruby 2.7 中的另一项实验性功能,允许您通过将参数编号用作默认参数来分配值,无需定义块变量。

Rails 6

Action Mailbox 支持

Action Mailbox

RubyMine 2019.2 支持将随 Rails 6 一起提供的 Action Mailbox 功能。 IDE 可以提供路由方法与回调的自动补全建议并在其实现与用例之间导航。

Action Mailbox 检查

我们还添加了一些检查,这些检查有助于您了解是否忘记在 ApplicationMailbox 中添加 routing 调用和在您的邮箱中添加 process 方法。 在后一种情况下还提供快速修复。

此详细的 GoRails 剧集中详细了解如何使用 Action Mailbox。

枚举支持

我们为 ActiveRecord::Enum 添加了适当的代码洞察支持。 其中包括代码自动补全、导航以及查找枚举的名称和方法的用例。 也支持 Rails 6 中引入的枚举否定作用域。

YARD

改进的 YARD 支持

改进的 YARD 支持

我们还在逐步改进对 YARD 的支持,旨在帮助您创建和管理 YARD 标记,并基于 YARD 注释在 RubyMine 中获得更出色的代码自动补全。 新版本为 @overload@yieldparam 标记添加了适当的类型注释和检查。

阅读 RubyMine 中的 YARD 支持,了解 RubyMine 围绕 YARD 的功能和改进的概览。

Factory Bot

重命名工厂

重命名工厂

借助 v2019.2,您可以重命名 (Shift+F6) 工厂、序列和特征。 IDE 可以查找其定义并提供对相关元素和所有用例以及文件名(如果与工厂名称匹配)进行重命名的建议。

我们还向 File Structure 视图 (Alt+F7) 和弹出窗口 (Ctrl + F12) 添加了工厂、序列和特征,并添加了安全删除它们的功能 (Refactor | Safe Delete)。

JavaScript

解构意图

新的意图操作

借助新的 Propagate to destructuring 意图 (Alt+Enter),您可以将一个额外变量替换为另一个解构(如果可行)。 要完全移除解构,请使用名为 Replace destructuring with property or index access 的意图操作。

Refactoring Preview 中的动态用例

改进的更名重构

重命名 JavaScript 或 TypeScript 文件中的符号时,IDE 现在会将动态用法组合在一起,并且默认会从重构中排除它们。 这使重构更准确,并且让您可以更严格地控制应当在 Refactoring Preview 工具窗口中重命名的内容。

Vuetify 属性

改进对 Vue.js 组件库的支持

从 Vuetify、BootstrapVue、Quasar 和其他某些 Vue 组件库对组件及其属性的代码补全现在更加准确。 这是通过我们采用新方法在 IDE 中使用这些库实现的。

重复代码检查

搜索重复的代码

全新的 Duplicate code fragment 检查可以实时检查您的代码并立即在编辑器中高亮显示潜在的重复项。 可用于 JavaScript、TypeScript、CSS、Sass、SCSS 和 Less。

请参阅 WebStorm 最新变化,了解 RubyMine 2019.2 中的更多 JavaScript 改进。

代码样式

编辑代码样式配置

改进的 EditorConfig 支持

借助 v2019.2,您可以添加多个 .editorconfig 文件,在项目的不同部分中维护不同的代码样式。 除了标准 EditorConfig 选项外 (已经长时间支持该选项),现在可以使用包括所有 IDE 代码风格选项的 IDE 专用属性。

Shell 脚本

Shell 脚本编辑

编辑 Shell 脚本

新版本添加了对 shell 脚本的支持。 其中包括适用于 .sh.bash 文件的代码补全、快速文档和文本重命名,以及适用于 shell 脚本的运行配置。 IDE 还与用于 lint 的 ShellCheck 和用于设置代码格式的 shfmt 集成。

Git

.gitignore 自动补全

.gitignore 中的自动补全

.gitignore 文件中,IDE 现在可为文件和文件夹提供代码补全建议。 在名称上按 Ctrl-click,即可在 Project 工具窗口中跳到此文件或文件夹。 您还可以从 Project 视图和 Local Changes 标签页中快速地向 .gitignore 添加文件 - 右键点击文件,然后选择 Add to .gitignore

数据库工具

数据库工具改进 – 全文搜索

借助 Full-text Search 查找数据

现在,即使您不知道数据在数据库中的确切位置,也可以搜索需要的数据。 右键点击您想要搜索的数据源,然后选择 Full-text Search (Ctrl+Alt+Shift+F)。 查询结果将进行筛选,仅向您显示在其中找到数据的字符串。

请参阅 DataGrip 最新变化,了解 RubyMine 2019.2 中的其他数据库改进。

其他改进

  • 标准 gem 支持
  • 支持 Action Text
  • 支持 Cucumber 4
  • Version Control 工具窗口中的小幅 UI 改进