Что нового в RubyMine 2019.1

RubyMine 2019.1 включает в себя улучшенную поддержку Docker, встроенный профилировщик Ruby, полную поддержку Factory Bot, новые темы интерфейса и многое другое.

Docker

Docker-compose exec

Работайте с Docker по-новому

В RubyMine добавлена поддержка
docker-compose exec. Эта команда позволяет запускать и отлаживать приложения, устанавливать гемы и выполнять другие задачи быстрее, чем раньше.

Узнайте больше о работе с Docker/Docker Compose в нашем блоге.

Экспериментальная функциональность: запуск с Docker Compose.

IDE стала быстрее

В разделе экспериментальных функций вы можете включить ruby.docker.internal.via.exec для ускорения RubyMine при работе с Docker SDK.

Теперь вы можете добавлять гемы, запускать задачи Rake и команды Rails, а также выполнять другие операции без пересборки Docker-образов.

Диалог Recent Locations

Диалог Recent Locations

Диалог Recent Locations

В RubyMine появился новый удобный способ навигации по кодовой базе. Диалог Recent Locations поможет быстро перейти к фрагментам кода, которые вы недавно посещали или редактировали. Начните вводить текст, чтобы отфильтровать результаты и быстро перейти к нужному коду.

Подробности смотрите в статье Навигация в RubyMine: всплывающее окно Recent Locations.

Профилировщик

Создание переводов

Профилирование приложений

RubyMine 2019.1 интегрируется с rbspy и предоставляет встроенный профилировщик, который поможет найти код, замедляющий тестирование или работу вашего приложения.

Узнайте, как пользоваться профилировщиком в нашем блоге.

Подключение профилировщика к работающим приложениям

Подключение к работающим приложениям

Профилировщик можно подключить к запущенному приложению (Find action / Attach Profiler to Process) и исследовать его в реальном времени.

Factory Bot

Автодополнение и навигация для атрибутов

При добавлении фабрики RubyMine предложит варианты автодополнения для ее атрибутов и по возможности их значений. Например, если вы добавите фабрику для модели Rails, IDE будет автоматически дополнять связи и значения для полей. И разумеется, вы сможете легко перемещаться между определениями этих объектов и обращениями к ним.

Автодополнение методов для создания фабрики в тестовых файлах

Автодополнение и навигация для методов

При написании тестов доступно автодополнение определений методов для создания фабрик, таких как create, build, build_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

TypeScript в Vue-приложениях

Улучшенная поддержка TypeScript в Vue-приложениях

Мы улучшили поддержку TypeScript в Vue-приложениях: RubyMine теперь использует языковой сервис TypeScript. Вас ждет более точная типизация и информация о типах, вы сможете использовать быстрые исправления, предоставляемые языковой службой, и просматривать все ошибки TypeScript, обнаруженные в текущем файле, в окне инструмента TypeScript.

Подсветка строк, на которых тесты не были выполнены

Подсветка строк, на которых тесты не были выполнены

Во время тестирования с помощью Jest, Karma, Mocha или Protractor теперь можно прямо в редакторе увидеть, какая строка вызвала падение теста. Используя информацию из трассировки стека, IDE подсветит код, который вызвал ошибку. При наведении курсора на подсвеченный код вы увидите сообщение об ошибке и сможете немедленно начать отладку теста.

Обновленная консоль отладчика

Обновленная консоль отладчика

Встречайте полностью обновленную интерактивную консоль отладчика в окне инструмента Debug для JavaScript и Node.js! Консоль теперь отображает объекты в виде дерева, позволяет менять оформление сообщений с помощью CSS и группировать их, используя методы console.group() и console.groupEnd(). Кроме того, сообщения можно отфильтровать по типу.

Автодополнение скриптов npm

Автодополнение скриптов npm

Теперь при добавлении новых скриптов в файл package.json RubyMine предлагает варианты доступных команд, предоставляемых установленными пакетами. Введите node, и IDE предложит имена папок и файлов. Наберите npm run, и вы увидите список задач, определенных в текущем файле.

Узнайте, что нового в WebStorm, — по ссылке вы найдете подробную информацию об улучшениях для JavaScript в RubyMine 2019.1.

HTML и CSS

HTML и CSS

Обновленная документация

Документация (F1) теперь отображает актуальные описания CSS-свойств, HTML-тегов и атрибутов с сайта MDN и информацию об их поддержке в браузерах, а также содержит ссылки на соответствующие статьи.

Кастомизация тем интерфейса

Кастомизация тем интерфейса

Новые темы интерфейса

В RubyMine появилась поддержка разных тем интерфейса, доступных в виде плагинов. Вы можете попробовать темную фиолетовую тему, светлую серую или бирюзовую, а также создать любую тему самостоятельно.

Инструменты для работы с базами данных

Улучшения инструментов для работы с базами данных - Новые источники

RubyMine 2019.1 включает в себя новую функциональность, разработанную командой DataGrip:

  • Добавлена поддержка баз данных Greenplum, Vertica и Apache Hive.
  • Для CREATE и DROP автодополнение предлагает комбинированные варианты.
  • Появилась поддержка атрибута DEFINER в MySQL и MariaDB.
  • Добавлена поддержка Oracle-режима в MariaDB.
  • Теперь можно выбрать папку проектов по умолчанию

Другие улучшения

  • Возможность запускать и отлаживать тесты, используя Spring
  • Полиморфные ассоциации: поддержаны параметры source и source_type
  • RubyMine теперь корректно распознает дополнительные gemfiles из bundle.config
  • Возможность указывать путь к локальным гемам в bundle.config
  • I18n: поддержка ключей default
  • Улучшена поддержка предикатов наличия полей в моделях Rails