Что нового в RubyMine 2019.3

В RubyMine 2019.3 добавлены расширенные функции анализа кода, усовершенствованный отладчик и множество платформенных улучшений для Git, JavaScript и HTTP-клиента. Ознакомьтесь со списком изменений ниже и обновитесь уже сегодня. We also encourage you to let us know of any issues and join the RubyMine Slack!

RuboCop

RuboCop

Маппинг значимости ошибок

В предыдущей версии RubyMine использовалась предварительно определенная логика для маппинга уровней значимости ошибок между IDE и RuboCop. Теперь можно изменять параметры маппинга по умолчанию, увеличивая или уменьшая уровни значимости для конкретных ошибок, найденных RuboCop. Дополнительные сведения см. в нашей документации.

Анализ кода

Улучшенный анализ кода для типа Struct

Улучшенный анализ кода для типа Struct

Благодаря улучшенному анализу кода структур, теперь можно найти все случаи использования требуемого типа структуры и перейти к его объявлению. Дополнительно обо всех улучшениях Find usages читайте в нашем блоге .

Поддержка типов для вызовов тестовых классов

Поддержка типов для вызовов тестовых классов

Новая версия RubyMine предлагает расширенные функции анализа кода для вызовов фикстур в тестах Minitest/Test::Unit. Теперь редактор предлагает автодополнение для таких вызовов и позволяет перейти к соответствующим полям базы данных.

Rails

Запуск задач Rails с помощью Run Anything

Запуск задач Rails с помощью Run Anything

В предыдущих версиях (до 2019.3) генераторы Rails и задачи Rake запускались с помощью специальных всплывающих окон. Теперь Run anything можно использовать как единую точку входа для запуска заданий/генераторов. Например, при нажатии клавиш Ctrl + Alt + R отображается всплывающее окно Run Anything и команда rake добавляется автоматически. Подробнее читайте в нашем блоге.

Stimulus и Elm для новых проектов Rails

Stimulus и Elm для новых проектов Rails

Версия 2019.3 позволяет указать Stimulus или Elm в качестве JavaScript-библиотек для новых проектов Rails.

Отладчик

Интерактивная консоль отладки для Rails

Интерактивная консоль отладки для Rails

Теперь RubyMine позволяет проверить состояние программы в процессе отладки в консоли Rails. Для этого нужно перейти на вкладку Interactive console по достижении точки останова.

YARD

Вывод типов для аннотаций @param и @return

Вывод типов для аннотаций @param и @return

Мы постоянно улучшаем поддержку YARD, чтобы позволить вам создавать YARD-теги и управлять ими. В RubyMine 2019.3 доступен вывод параметров и возвращаемых типов из родительского класса для их использования в теге Add @param и интенциях Add @return tag.

Ознакомьтесь с разделом Поддержка YARD, где представлен обзор функций YARD в RubyMine.

Стиль кода

Выравнивание цепочек методов

Выравнивание цепочек методов

В версию 2019.3 добавлен новый стиль кода, который позволяет выравнивать вызовы метода в цепочке различными способами – по исходному получателю или по начальным точкам. Чтобы настроить этот параметр, откройте страницу Settings/Preferences | Editor | Code Style | Ruby | Wrapping and Braces и перейдите в группу Chained method calls.

Copyright

Уведомления об авторских правах для файлов Ruby

Уведомления об авторских правах для файлов Ruby

В новой версии вы можете быстро добавить в файлы Ruby предопределенные уведомления об авторских правах. Дополнительную информацию см. в разделе справки Copyright.

JavaScript и CSS

Автодополнение CSS-классов, добавленных с использованием CDN

Автодополнение CSS-классов, добавленных с использованием CDN

Если в проекте используется Twitter Bootstrap или другая CSS-библиотека, добавленная с использованием CDN, доступно автодополнение имен классов из этой библиотеки без добавления их источников в проект.

Настройка стилей кавычек для CSS

Настройка стилей кавычек для CSS

Новая команда Quote Marks позволяет указать, будут ли в CSS (а также в файлах SCSS и Less) использоваться двойные или одинарные кавычки. Если выбран параметр Enforce on Reformat, указанный стиль кавычек будет применяться при переформатировании кода (а не только при автодополнении кода).

Поддержка компонентов Vue.js из отдельного файла

Поддержка компонентов Vue.js из отдельного файла

Новая версия RubyMine теперь понимает, как связаны между собой части компонента, расположенные в отдельных файлах, и предоставляет точные варианты автодополнения для свойств, данных и методов, определенных в разных vue-файлах.

Git

Обновленное диалоговое окно Clone

Обновленное диалоговое окно Clone

Мы усовершенствовали диалоговое окно Clone (добавлен элемент управления VCS | Get from Version). Теперь вы можете войти в систему прямо из этого диалогового окна. При этом IDE мгновенно покажет списки репозиториев, сгруппированные по профилям или организациям.

Отправка изменений из любой ветки

Отправка изменений из любой ветки

Теперь вы можете отправлять изменения из любой ветки непосредственно из всплывающего окна Branches — выберите нужную ветку, а затем нажмите Push.

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

Поддержка базовых функций MongoDB

Поддержка базовых функций MongoDB

В RubyMine 2019.3 реализована начальная поддержка MongoDB. Вы можете просматривать коллекции и поля в проводнике базы данных, выполнять запросы и т. д.

HTTP-клиент

Динамические переменные в HTTP-файлах

Динамические переменные в HTTP-файлах

В версии 2019.3 вы можете использовать динамические переменные в HTTP-запросах. К этим переменным относятся $uuid, $timestamp и $randomInt. Используйте двойные фигурные скобки, чтобы вставить одну из этих переменных в выбранное место.

Выполнение всех запросов в одном файле

Выполнение всех запросов в одном файле

Теперь HTTP-клиент позволяет записать несколько запросов в один HTTP-файл. Эта функция особенно полезна при создании цепочки запросов, когда содержание одного запроса зависит от результатов выполнения предыдущего. Try the new capabilities using this sample app.

Другие изменения

  • Прекращена поддержка плагинов RubyMotion и Heroku Integration
  • Сортировка строк по алфавиту с помощью команды Edit | Sort Lines
  • Поиск по выделенной области
  • Улучшенное управление плагинами без перезапуска IDE
  • Улучшенный терминал Docker
  • Улучшенная поддержка Kubernetes