检查代码中问题的新方式,27 个新意图操作,Liquid 支持,全面支持 GitHub Pull Request 以及适用于 Ruby、Rails、JS 和数据库工具的更多新功能。
我们添加了一个新微件,可显示当前文件中的问题数量。 点击它可以打开包含问题列表的工具窗口。 在这里,您可以跳到包含问题的代码,或者直接从工具窗口中修复问题。
RubyMine 2020.2 包含对 Liquid 模板语言的基本支持。 IDE 会向您显示语法问题,提供用于插入常用结构的实时模板,并根据 Code Style 设置中指定的要求重新设置代码格式。
为您节省编码时间!
RubyMine 2020.2 提供了许多新意图操作,您可以使用它们 (Alt+Enter) 快速优化代码。
利用 Invert ‘if-else’ 操作,您可以翻转 if-else 运算符,以便对条件求反并切换分支。 对于三元运算符,可以使用 Flip ‘?:’ 意图操作,工作方式相同。
使用 Merge nested ‘if’ 操作可将嵌套语句合并到布尔表达式中。 要调用此操作,请将脱字符号放在表达式的 if
之外。
Split into multiple ‘ifs’ 执行相反的操作,需将脱字符号放在布尔运算符上。
通过 Merge ‘else if’ 和 Split ‘elsif’ 意图操作,您可以将 elsif
语句拆分为嵌套的 else/if
分支,反之亦然。
Merge/split sequential ‘if’s 操作适用于 elsif
或 if
关键字。 如果这些分支内的代码完全相同,它会建议合并两个分支。 RubyMine 随后会使用 ||
运算符组合两个条件,并根据需要添加括号。 Split into multiple ‘if’s 操作会执行相反的工作。
这些意图操作会使用 ::
范围解析运算符将行展开为嵌套的模块,反之亦然。 请注意,Flatten namespace 操作会平展它上面的模块。
Add clarifying parentheses 意图操作适用于二元和三元表达式。 它可以向依赖运算符优先级的复杂表达式添加括号,进而阐明如何计算表达式。 您还可以调用 Remove unnecessary parentheses。
Add underscores 操作可为较大数字添加下划线以提高可读性。 受支持的类型为整数/浮点数/八进制数字
(每 3 个数字添加一个下划线)和十六进制/二进制数字
(每 4 个字符/数字添加一个下划线)。
您可以对带有下划线的数字调用 Remove underscores 操作。
使用此意图操作可以在将脱字符号放在表达式上时引入新的局部变量。
重构时,如果您发现剩下一个只用过一次的变量,此意图操作将非常有用。
您现在可以将块注释转换为行注释,反之亦然。 请注意,这些操作仅适用于在行起始处开始的注释,块注释要求相同。
对于折叠结构,如 if
、while
和 for
,RubyMine 现在会显示第一行中使用的条件或变量。 这种方法让您可以更轻松了解是否需要展开结构并查看。
在编辑器中阅读 RDoc 或 YARD 文档可能令人不胜其烦。此类文本中充斥着各种标记,在需要与参考链接和图像进行交互时,更是雪上加霜。 正因如此,我们增加了一种直接在编辑器中渲染文档的方法。
可以通过 Preferences/Settings | Editor | General | Appearance | Render documentation comments 启用此功能。
您现在可以通过调用意图操作或点击装订区域中的图标在 super 方法和重写方法之间导航。
RubyMine 一如既往地支持最新版的 Ruby。 例如,RubyMine v2020.2 支持无始范围,此功能在 Ruby 2.7 中引入。
RubyMine 现在会为多种标准库方法(包括 Array#sort_by
、Hash#each
等)建议更准确的补全。
您现在可以轻松地将命名参数转换为数字参数,此功能在 Ruby 2.7 中引入。 将脱字符号放到任意命名参数上,按 Alt+Enter,然后选择 Convert named parameters to numbered 意图操作。 Convert numbered parameters to named 操作会执行相反的工作。
通过新的意图操作,您可以轻松地为实例变量添加特性 accessor、reader 或 writer。 要执行此操作,请将脱字符号放在变量上,然后按 Alt+Enter。
在使用延迟键(延迟查询)的 Rails 应用程序中,此意图操作会自动将键展开为其完整形式。 如果控制器中有延迟键,该意图可能会询问要展开为哪个延迟键(会有多个选项)。
您无需在浏览器和 IDE 之间切换。 整个 PR 工作流现在可以在 RubyMine 内完成!
使用 v2020.2,您可以浏览、分配、管理,甚至合并 PR,查看时间线和内联评论,提交评论和审查并接受更改。
Merge、Pull 和 Rebase Git 对话框现在视觉一致性更好且减少了视觉混乱。 使用新设计,您可以快速查看要执行哪个 Git 命令。
我们还将 –rebase
选项添加到 Pull 对话框中,将 –no-verify
选项添加到 Merge 对话框中。
新智能意图 (Alt+Enter) 会帮助您更快地执行一些操作。 例如,您现在可以将带有数字索引的 for
循环快速转换为 forEach
数组方法。 浏览 JavaScript 和 TypeScript 文件中的文档注释也变得更容易,因为您现在可以在编辑器中直接呈现它们,这将最大程度地减少分心。
想要使用 Prettier 而不是内置的格式化程序来整理代码? 借助此更新,这会变得比以前更容易。 只需勾选新的 On code reformat 复选框,IDE 就会在您重新格式化 .js
、.ts
、.jsx
和 .tsx
文件时使用 Prettier。 也可以轻松添加其他文件类型。
在过去一年中,我们添加了 Nuxt.js 支持、Vue 特定的代码样式设置、TypeScript 项目中围绕 Vue 的改进以及许多其他功能。 RubyMine 中的 Vue 支持从未如此先进!
现在,如果您的单元格中有一个巨大的值,可以在单独的面板中进行查看或编辑。 您还可以使用右侧工具栏切换自动换行模式。
现在提供了一种更方便用户查看和编辑布尔值的方法。 True 值现在用一个圆点标记,以区别于其他所有值。
编辑:
f
、t
、d
、n
、g
或 c
将输入相应的值:false
、true
、default
、null
、generated
和 computed
。 Array.to_h()
、Dir.each()
等)传递到存根方法,RubyMine 现在会显示警告。 not
调用添加了类型支持。 现在,如果没有为 where
方法提供参数,RubyMine 将提供 not
作为补全。