RubyMine 2019.1 最新变化

RubyMine 2019.1 具有 Docker 主要更新、 Ruby 分析器、完全支持 Factory Bot、定制主题等功能。

Docker

Docker-compose exec

通过 docker-compose exec 重新认识 Docker

RubyMine 增加对
docker-compose exec 的支持。 简而言之,如果启用此命令,您可以更快运行和调试应用程序,安装 gem 并进行其他开发任务。

阅读如何在 RubyMine 中使用 Docker/Docker Compose,了解更多详情。

实验性:运行 docker compose。

加块 RubyMine

Experimental features 启用 ruby.docker.internal.via.exec,以便在使用 Docker SDK 时加快 RubyMine。

现在无需重新生成 Docker 映像,即可添加 gem,运行 rake 任务、rails 命令以及其他会更新环境的元素。

最近的位置

最近的位置

Recent Locations 弹出窗口

新弹出窗口 Recent Locations 重塑导航代码库的方式。 当您 只记得代码内容,但不知道在哪里看到它时, 此弹出窗口可以帮您找到实际的代码。 开始输入以筛选结果并跳转到需要的代码。

阅读 RubyMine 导航:Recent Locations 弹出窗口,了解详细信息。

性能分析器

创建 i18n 翻译

分析应用程序

RubyMine 2019.1 集成了 rbspy,并提供一个原生分析器来帮助您发现减慢应用程序和/或测试的代码。

如果需要详细的教程,请参考在 RubyMine 中使用 rbspy 分析 Ruby 和 Rails

将分析器附加到运行中的应用

附加到运行中的应用

请注意,您可以将分析器附加到运行中的应用程序 (Find action / Attach Profiler to Process),并对应用程序进行实时分析!

Factory Bot

自动补全并导航到属性

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

在测试文件中补全工厂创建方法

自动补全并导航到方法

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

也完全支持 Factory Bot 的其他优秀功能,比如:序列、特征和别名。

完全集成 MVC

我们还在 Related files 弹出窗口 (Navigate / Related symbol) 中添加了工厂,并且添加了装订区域,允许您转到部分工厂声明(如果存在)。

调用层次结构

调用层次结构

调查方法调用

新操作 Call Hierarchy 可以帮助您深入研究使用您正在调查的方法的方法(“调用者”),调用这些调用者的方法,并且可到达您需要的深度。

更多信息,请参考这篇博客

TruffleRuby

TruffleRuby

支持 TruffleRuby

RubyMine 2019.1 增加对 TruffleRuby 的支持! 要将当前的 Ruby SDK 切换为 TruffleRuby,请确保您已安装解释器,并在 Ruby SDK 设置中选择它。

此外,在这个版本中,我们还修复了很多 Ruby 版本管理器的问题。

JavaScript

Vue 中的 TypeScript

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

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

高亮显示测试中的错误

高亮显示测试失败的行

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

新调试器控制台

新调试器控制台

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

npm 脚本的补全

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 指定本地 gem 路径
  • I18n:支持默认选项
  • 改进了对 Rails 模型中查询字段方法的支持