RubyMine的新功能

2019.3(11月28日)

RubyMine 2019.3增强了代码洞察力,改进了调试器,并为Git,JavaScript和HTTP客户端进行了许多平台改进。在下面查看所有新内容并立即更新。我们也鼓励您让我们知道任何问题,并加入RubyMine Slack

RuboCop

RuboCop

严重性映射

以前,RubyMine使用预定义的逻辑来映射RuboCop和IDE检查严重性。现在,您可以更改默认映射以增加或减少特定RuboCop攻击的严重性。阅读此RuboCop帮助主题以了解更多信息。

代码见解

更好的Struct代码洞察力

更好的Struct代码洞察力

借助对结构类型的改进的代码洞察力,您现在可以查找所需结构类型的用法,并导航回其声明。要了解有关其他“查找用法”改进的更多信息,请阅读此博客文章

灯具调用的类型支持

灯具调用的类型支持

新版本的RubyMine为Minitest / Test :: Unit测试中的夹具调用提供了改进的代码洞察力。编辑器现在为这些调用提供自动完成功能,并且可以将您导航到相关的数据库字段。

滑轨

使用“一切运行”来运行Rails任务

使用“一切运行”来运行Rails任务

在v2019.3之前的版本中,可以通过专用弹出窗口运行Rails生成器和Rake任务。现在,您可以将“运行任何内容”用作运行任务/生成器的单个入口点。例如,按⌥R/ Ctrl + Alt + R会调用“ 运行任何内容”弹出窗口并自动添加rake命令。在此博客文章中了解更多信息

刺激和榆木新的Rails项目

刺激和榆木新的Rails项目

在2019.3中,您可以将StimulusElm指定为新Rails项目的JavaScript库。

调试器

Rails控制台的交互式调试

Rails控制台的交互式调试

现在,RubyMine允许您在Rails控制台中进行调试时检查程序的状态。为此,只需在遇到断点后切换到“ 交互式控制台”选项卡即可。

推断@param和@return批注的类型

推断@param和@return批注的类型

我们会不断改善对YARD的支持,以帮助您创建和管理YARD标签。在v2019.3中,RubyMine从父类推断参数并返回类型,以在Add @param标签和Add @return标签意图中使用它。

阅读有关YARD支持的概述,以了解RubyMine的YARD功能。

代码风格

对齐方法链

对齐方法链

在v2019.3中,我们添加了一个新的代码样式选项,该选项使您可以通过初始接收方或前导点以不同方式对齐链接的方法调用。要配置此选项,请打开“设置/首选项” |“设置”。编辑器代码样式|红宝石|包装和大括号,然后转到“ 链式方法调用”组。

版权

Ruby文件的版权声明

Ruby文件的版权声明

现在,您可以快速向Ruby文件添加预定义的版权声明。有关更多详细信息,请参见此版权帮助主题。

JavaScript / CSS

使用CDN添加的完整CSS类

使用CDN添加的完整CSS类

如果您在项目中使用Twitter Bootstrap或其他CSS库,并且已从视图文件中的CDN链接了它,则现在可以从该库获取类名的完成,而无需将其源添加到项目中。

CSS的引用样式设置

CSS的引用样式设置

现在,您可以使用新的“ 引号”选项选择在CSS(以及SCSS和Less文件)中使用双引号还是单引号。如果选择“ 强制重新格式化” ,则在重新格式化代码时(不仅是在使用代码完成功能添加新代码时)将应用所选的引用样式。

支持来自单独文件的Vue.js组件

支持来自单独文件的Vue.js组件

RubyMine现在可以理解位于单独文件中的组件的不同部分之间的链接,并为props,数据和方法提供适当的代码完成。

吉特

重做的克隆对话框

重做的克隆对话框

我们改进了“ 克隆”对话框(“ VCS |从版本控制获取” )。现在,您可以从此对话框登录,IDE将立即预览按帐户或组织分组的所有存储库的列表。

推任何分支

推任何分支

现在,您可以从“ 分支”弹出窗口中的任何分支直接推送更改–选择一个分支,然后使用菜单中的“ 推送”操作。

数据库工具

基本的MongoDB支持

基本的MongoDB支持

RubyMine 2019.3为MongoDB提供初始支持。您可以在数据库资源管理器中查看集合和字段,运行查询等等。

HTTP客户端

.http文件中的动态变量

.http文件中的动态变量

使用v2019.3,您可以在HTTP请求中使用动态变量。这些变量包括$ uuid,$ timestamp$ randomInt。使用双花括号在需要的位置插入这些变量之一。

运行文件中的所有请求

运行文件中的所有请求

现在,HTTP客户端使您可以在一个.http文件中写入多个请求。如果一个请求取决于前一个请求的结果时需要执行请求链,这将很有用。使用此示例应用程序尝试新功能。

其他变化:

  • 不再支持 RubyMotion和Heroku集成插件
  • 使用编辑|按字母顺序对行进行排序排序行命令
  • 使用“查找”操作时在选定区域中搜索
  • 改进了插件管理,而无需重新启动IDE
  • 更好的Docker终端
  • 改进的Kubernetes支持
2019.2(7月29日)

调试器

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

更快的调试器

我们的调试器使用TracePoint :line跟踪程序执行。对于v2019.2,我们为MRI设计了一个本机扩展,使调试器可以选择应在哪个代码段中挂起执行,并释放其余代码。结果,我们能够极大地加快调试器的速度,并实现以下新功能。

智能步入

智能步入

以前,如果您在调试会话中偶然发现了很多方法,那么RubyMine只能进入该行的第一个方法。新添加的Smart Step Into解除了这种限制,使您可以介入并研究位于同一行的每个特定方法或块调用。

阻止断点

阻止断点

使用新版本,您不仅可以在行上而且可以在块上设置断点。当您单击左侧装订线以在包含块的行上设置断点时,RubyMine会询问您是否要在行,块或两者上都设置断点。

阅读RubyMine中的调试以详细了解如何在RubyMine中调试Ruby和Rails脚本。

Ruby 2.7

模式匹配

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

有关Ruby中模式匹配的更多信息

编号的块参数

编号的块参数

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

导轨6

动作邮箱支持

动作邮箱

RubyMine 2019.2支持Rails 6随附的Action Mailbox。IDE建议自动完成路由方法和回调,并在其实现和用法之间导航。

动作邮箱检查

我们还添加了一些检查,可以让您知道是否忘记了在ApplicationMailbox添加routing调用和在邮箱中添加process方法。后者还提供快速修复。

在此详细的GoRails情节中,了解有关如何使用Action Mailbox的更多信息。

枚举支持

我们为ActiveRecord::Enum添加了适当的代码洞察支持。这包括代码自动完成,导航以及查找枚举名称和方法的用法。还支持Rails 6中引入的枚举的负范围。

改进的YARD支持

改进的YARD支持

我们正在逐步改善对YARD的支持,以帮助您创建和管理YARD标签,并基于YARD注释在RubyMine中获得更好的代码自动完成。新版本为@overload@yieldparam标签添加了适当的类型注释和检查。

阅读RubyMine中的YARD支持,以详细了解RubyMine的功能以及有关YARD的新改进。

工厂机器人

重命名工厂

重命名工厂

使用v2019.2,您可以重命名( Shift + F6 )工厂,序列和特征。IDE会找到它们的定义,并建议重命名它及其所有用法,以及与工厂名称匹配的文件名。

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

的JavaScript

破坏意图

新意图动作

新的销毁意向传播Alt-Enter )允许您在可能的情况下用另一个销毁替换额外的变量。要完全删除销毁,请使用称为“ 用属性或索引访问替换销毁”的意图操作。

重构预览中的动态用法

改进的重命名重构

现在,当您在JavaScript或TypeScript文件中重命名符号时,IDE现在会将动态用法组合在一起,并且默认情况下将它们从重构中排除。这样可以使重构更加准确,并使您可以更好地控制在“ 重构预览”工具窗口中应重命名的内容。

巡视道具

更好地支持Vue.js组件库

现在,来自Vuetify,BootstrapVue,Quasar和其他一些Vue组件库的组件及其道具的代码完成更为精确。我们采用了一种在IDE中使用这些库的新方法,使之成为可能。

重复代码检查

搜索重复的代码

新的重复代码片段检查可即时检查您的代码,并立即在编辑器中突出显示潜在的重复。它适用于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还与集成ShellCheck的掉毛和shfmt格式化代码。

吉特

.gitignore自动完成

.gitignore中的自动补全

.gitignore文件中,IDE现在提供文件和文件夹的代码完成建议。 Cmd / Ctrl单击名称可跳至“ 项目”工具窗口中的此文件或文件夹。您还可以从“ 项目”视图和“ 本地更改”选项卡中将文件快速添加到.gitignore右键单击它,然后选择“ 添加到.gitignore”

数据库工具

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

使用全文搜索查找数据

现在,即使您不知道数据的位置,也可以在数据库中搜索数据。右键单击要搜索的数据源,然后选择“ 全文本搜索(Ctrl + Alt + Shift + F / Cmd + Alt + Shift + F)” 。查询结果将被过滤以仅显示在其中找到数据的那些字符串。

查看DataGrip的新增功能以获取RubyMine 2019.2中也提供的其他数据库改进。

其他改进:

  • 标准宝石支持
  • 支持动作文本
  • 支持黄瓜4
  • 版本控制工具窗口中对UI的细微改进
2019.1(4月4日)

码头工人

Docker编写的exec

docker-compose exec重新思考Docker

RubyMine增加了对
docker-compose exec 。简而言之,启用该命令后,您可以比以前更快地运行和调试应用程序,安装gem和执行其他开发任务。

阅读RubyMine的《如何使用Docker / Docker Compose》以获取详细信息。

实验性:使用docker compose运行。

加速RubyMine

在“ 实验性功能”中 ,使用Docker SDK时,启用ruby.docker.internal.via.exec可以加快RubyMine的运行速度。

现在,您可以添加gem,运行rake任务,rails命令和其他可更新环境的内容,而无需重建Docker映像。

最近的位置

最近的位置

最近的位置弹出

新的“ 最近的位置”弹出窗口重新设计了您浏览代码库的方式。当仅记住代码的内容但不知道在哪里看到代码时,此弹出窗口可帮助您找到实际的代码。开始输入以过滤结果并跳转到所需的代码。

阅读RubyMine导航:最近的位置弹出窗口以获取详细信息。

探查器

创建i18n翻译

档案申请

RubyMine 2019.1集成了rbspy并提供了本机探查器,可帮助您发现降低应用程序和/或测试速度的部分代码。

有关详细的教程,请阅读RubyMine中的使用rbspy配置Ruby&Rails应用程序

将分析器附加到正在运行的应用程序

附加到正在运行的应用程序

请注意,您可以将事件探查器(“ 查找操作” /“将事件探查器附加到进程”附加到正在运行的应用程序,并对其进行实时调查!

工厂机器人

自动完成和导航属性

添加工厂时,RubyMine会自动完成其属性,并在可能的情况下自动完成其值。例如,对于Rails模型工厂,IDE将使用其内容甚至关联自动完成其字段。当然,您可以在这些对象的定义和用法之间导航。

测试文件中完整的工厂创建方法

自动完成和导航方法

在编写测试时,可以自动完成并导航到工厂创建方法的定义,例如createbuildbuild_stubbed等。

还完全支持Factory Bot的其他出色功能,例如序列,特征和别名。

完全的MVC集成

我们还将工厂添加到“ 相关文件”弹出窗口中(“ 导航” /“相关符号” ),并添加了一个装订线,如果存在的话,您可以转到部分工厂声明。

呼叫阶层

呼叫阶层

研究方法调用

新的“ 呼叫层次结构”操作可帮助您深入研究正在使用的方法(“呼叫者”),调用这些呼叫者的方法,并根据需要进行更深入的研究。

有关更多信息,请参阅此博客文章

松露红宝石

松露红宝石

TruffleRuby支持

RubyMine 2019.1添加了对TruffleRuby的支持!要将当前的Ruby SDK切换到TruffleRuby,请确保已安装解释器,然后在Ruby SDK设置中选择它。

顺便说一下,在此发行版中,我们还修复了Ruby版本管理器的许多问题。

的JavaScript

Vue中的TypeScript

改进了对Vue应用程序中TypeScript的支持

RubyMine现在将TypeScript语言服务与它自己的TypeScript支持一起用于.vue文件中的任何TypeScript代码。这意味着您现在将获得更准确的类型检查和类型信息,您将能够使用服务提供的快速修复,并在TypeScript工具窗口中查看当前文件中的所有TypeScript错误。

突出显示测试中的错误

突出显示测试中的失败行

当您使用Jest,Karma,Mocha或Protractor运行测试并且某些测试失败时,您现在可以在编辑器中直接查看问题发生的位置。IDE将使用来自堆栈跟踪的信息,并突出显示失败的代码。悬停时,您将看到来自测试运行程序的错误消息,您可以立即开始调试测试。

新的调试器控制台

新的调试器控制台

在JavaScript和Node.js调试工具窗口中访问新的,经过改进的交互式调试器控制台!现在,它使用树视图显示对象,并且支持使用CSS设置日志消息的样式并使用console.group()和console.groupEnd()将它们分组。您还可以过滤掉任何类型的日志消息。

新的调试器控制台

完成npm脚本

将新脚本添加到package.json文件时,IDE现在会为已安装的软件包提供的可用命令提供建议。键入节点后,IDE将建议文件夹和文件名。在输入npm run之后,您将看到当前文件中定义的任务列表。

请参阅WebStorm中的新增功能,以获取RubyMine 2019.1中可用的JavaScript改进。

HTML和CSS

HTML和CSS

更新的文档

CSS属性以及HTML标记和属性的文档(F1)现在显示MDN的最新描述和有关浏览器支持的信息,以及指向完整MDN文章的链接。

自定义主题

自定义主题

新的UI主题

您现在可以在RubyMine中使用作为插件可用的新的多彩UI主题。在“深紫色” ,“ 灰色 ”和“ 青色浅色”主题之间选择,或创建自己的主题。

数据库工具

数据库工具的改进–新资源

感谢我们的DataGrip团队的同事,RubyMine中的数据库工具有了一些很不错的改进:

  • 支持新数据库:Greenplum,Vertica和Apache Hive
  • 代码完成支持CREATE和DROP的组合语句
  • 在MySQL和MariaDB中支持DEFINER属性
  • 在MariaDB中支持Oracle模式
  • 您现在可以为项目设置默认文件夹

其他改进:

  • 能够使用Spring运行和调试测试
  • 多态关联:支持的source和source_type参数
  • 使用bundle.config指定替代的gemfile
  • 使用bundle.config指定本地gems路径
  • I18n:支持默认选项
  • 改进了对Rails模型中查询字段方法的支持