Что нового в RubyMine 2021.1

Поддержка RBS для Ruby 3.0 и улучшенное автодополнение, интеграция со Space и Code With Me, обновленный интерфейс, больше возможностей для веб-разработки и работы с JSON, фреймворками, системами контроля версий и многое другое.

Ruby

Поддержка RBS и улучшенное автодополнение

Поддержка RBS и улучшенное автодополнение

В механизме Code Insight теперь используются файлы .rbs. Это улучшило автодополнение как для стандартной библиотеки Ruby, так и для пользовательского кода с RBS-определениями. Вам даже необязательно использовать в проекте Ruby 3.0. Единственное требование — включить в него RBS-гем.

RubyMine упрощает работу с файлами .rbs, предоставляя подсветку синтаксиса, действия Go to Declaration, Find Usages и рефакторинг Rename.

Подробнее

Space

Интеграция с JetBrains Space

Интеграция с JetBrains Space

Вы уже попробовали JetBrains Space? Теперь вы можете подключить RubyMine к своей организации в Space с помощью плагина. После входа в систему можно просматривать и клонировать репозитории проекта, выполнять код-ревью, а также писать скрипты автоматизации Space.

Code With Me

Совместная разработка

Совместная разработка

Сервис для совместной разработки и парного программирования Code With Me теперь включен в RubyMine.

С его помощью вы можете в реальном времени работать над проектом, открытым в вашей IDE, вместе с коллегами. Чтобы присоединиться к сеансу, им даже не обязательно иметь IDE.

Подробнее

Взаимодействие с IDE

Раскрытие вкладок в режиме Split

Раскрытие вкладок в режиме Split

Если у вас открыто несколько вкладок в режиме Split, любую из них можно увеличить двойным кликом. Чтобы вернуться в предыдущее состояние, снова нажмите на окно дважды.

Настройки толщины шрифта

Настройки толщины шрифта

Теперь в редакторе можно отрегулировать толщину используемого шрифта. Новые настройки находятся в разделе Preferences/Settings | Editor | Fonts | Typography Settings.

Сочетание клавиш для действия Select All в терминале

Сочетание клавиш для действия Select All в терминале

Теперь легко выделить весь вывод во встроенном терминале. Кликните правой кнопкой мыши в окне терминала и выберите Select All.

Для этого действия можно задать сочетание клавиш: перейдите в Preferences/Settings | Keymap и введите «Select all» в поле поиска. Вы увидите искомое действие в разделе Terminal.

Тесты

Несколько тестов в конфигурации запуска

Несколько тестов в конфигурации запуска

Иногда бывает нужно запустить несколько тестов, не относящихся к одной группе, например один файл .rb или файлы из определенной папки. Начиная с версии 2021.1, можно вручную выбирать, какие тестовые файлы запускать. Выделите нужные файлы на панели Project, кликните по любому из них правой кнопкой мыши и выберите Run ‘<test names>’ в контекстном меню.

Веб-разработка и фреймворки

Встроенная документация MDN

Встроенная документация MDN

Мы интегрировали в RubyMine документацию MDN. Больше не будет проблем с подключением к сайту MDN, и документация в HTML, CSS и JavaScript-файлах отображается быстрее. Кроме того, она стала более информативной: например, можно посмотреть подробную информацию о поддерживаемых версиях браузеров для API JavaScript.

Улучшенная поддержка Stylelint

Улучшенная поддержка Stylelint

Пользоваться популярным линтером Stylelint стало проще: исправить ошибки в CSS-коде можно всего за пару кликов. Наведите указатель мыши на проблемное место в файле или поместите туда курсор и нажмите Alt+Enter, а затем выберите Stylelint: Fix current file.

Кроме того, теперь можно указать путь к файлу конфигурации в соответствующем поле в разделе Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint.

Специфичность селекторов CSS

Специфичность селекторов CSS

When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Или переместите на него фокус и нажмите Ctrl+Q, чтобы просмотреть информацию во всплывающем окне документации.

Превью HTML-файлов

Превью HTML-файлов

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

Чтобы его открыть, нажмите на значок RubyMine в виджете в правом верхнем углу редактора.

Обновленный интерфейс HTTP-клиента

Обновленный интерфейс HTTP-клиента

Мы добавили несколько улучшений в HTTP-клиент. Теперь при выполнении HTTP-запросов можно свернуть ответы, изменить формат вывода и быстро скопировать тело ответа в буфер обмена.

Система контроля версий

Улучшения для пул-реквестов

Удобная работа с пул-реквестами

Процесс работы с пул-реквестами стал более эффективным. Теперь при создании пул-реквеста вы можете выбрать нужные ветки, просмотреть измененные файлы и их различия, оставлять многострочные комментарии, использовать шаблоны и создавать черновики.

Подробнее

Шаблоны сообщений коммитов

Шаблоны сообщений коммитов

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

Настройка профиля инспекций перед коммитом

Настройка профиля инспекций перед коммитом

Вы можете легко выбрать профиль инспекций перед отправкой изменений в VCS.

Чтобы создать профиль, перейдите в раздел Preferences / Settings | Editor | Inspections. Затем вы сможете выбрать нужный профиль в окне Commit: нажмите на значок шестеренки, отметьте галочкой Analyze code и кликните Configure.

Копирование файла из другой ветки

Копирование файла из другой ветки

Иногда при сравнении веток требуется загрузить файл, который есть только в удаленной ветке, а не в локальной. Теперь это можно сделать через диалог Compare with branch. Выберите файл, который нужно загрузить, и нажмите на значок со стрелкой рядом с Show diff.

JSON

Поддержка JSON Lines

Поддержка JSON Lines

RubyMine now properly supports the JSON Lines text format. IDE распознает файлы .jsonl, .jslines, .ldjson и .ndjson.

Поддержка JSONPath

Поддержка JSONPath

RubyMine теперь поддерживает JSONPath, язык запросов, который позволяет находить элементы кода в JSON-документах, аналогично тому, как это делает XPath в XML. В IDE появилось специальное окно, в котором есть функции поиска с автодополнением. Оно работает как для JSON-файлов, так и для выражений JSONPath в коде.

Подробнее

Поиск

Расширение области поиска по внешним файлам

Расширение области поиска по внешним файлам

Теперь можно указать, как механизму поиска следует обрабатывать внешние зависимости. Откройте диалог Find in Files (Ctrl+Shift+F), выберите Scope и нажмите на значок «…» рядом с полем фильтров. В открывшемся окне Scopes вы увидите, включены ли внешние зависимости (External Dependencies) в область поиска или нет. Вы можете изменить их статус, используя кнопки справа.

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

Интерфейс для работы с правами доступа

Интерфейс для работы с правами доступа

Мы добавили интерфейс для изменения прав доступа при редактировании объектов базы данных. В окне Modify user (открывается из проводника баз данных для любого пользователя при помощи Cmd/Ctrl+F6) можно назначать объектам права доступа. Это работает для PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server и Sybase.

Контекстные шаблоны Live Templates

Контекстные шаблоны Live Templates

При работе с объектом базы данных иногда нужно выполнить определенный запрос в контексте этого объекта. Мы добавили новый вид шаблонов, которые помогут вам в этом. Например, нажмите на таблицу правой кнопкой мыши и выберите Select first N rows from a table. Вы можете добавить собственный шаблон или выбрать из имеющихся.

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

  • Поддержка Cucumber 5.2.
  • Улучшения для работы с Docker включают обновленный диалог Run/Debug Configuration, возможность отменять запуск Docker, автодополнение для образов, поддержку BuildKit и многое другое.
  • В интерфейсе Swagger поддерживаются спецификации со ссылками на внешние файлы ($ref). На панели Structure для файлов спецификаций предусмотрено больше узлов, включая Security, Callbacks и Examples.
  • Мы добавили важнейшую функциональность для работы с MongoDB: теперь вы можете редактировать данные в коллекциях MongoDB. Также доступен предпросмотр запросов.
  • Теперь можно отключать инспекции для JavaScript и TypeScript в определенных файлах.
  • После аннотации #noinspection можно добавлять комментарии, например, чтобы написать, почему вы отключили инспекцию именно в этом месте.
  • Новое действие Save to Shelf позволяет скопировать изменения на вкладку Shelf, сохранив их в локальной истории.
  • Автодополнение имен символов в самом начале JS-файлов теперь опирается на имя файла.
  • Чтобы комментарии JSDoc было легче читать, можно настроить цвета элементов JSDoc.
  • RubyMine теперь поддерживает CSS-модули в файлах .vue . IDE корректно обрабатывает свойства $style, предоставляя для них автодополнение, навигацию и базовые возможности рефакторинга.
  • В HTTP-клиенте можно настроить SSL.
  • Новая инспекция подсвечивает случаи использования протокола http:// в строках и предлагает замену на https://.
  • Теперь можно настроить область действия ESLint, указав для каких типов файлов его использовать.
  • Мы стремимся сделать наши IDE доступными для всех пользователей. В этом выпуске мы добавили больше меток к элементам начального экрана, панели Project Structure и VCS-лога. Теперь эти элементы, как и значки на полях редактора, корректно обрабатываются программами чтения с экрана.
  • Если на своем компьютере Windows вы используете режим высокой контрастности, RubyMine синхронизируется с ОС и включит высококонтрастную тему при первом запуске.
  • На Windows теперь можно открывать недавние проекты, кликнув правой кнопкой мыши по значку RubyMine на панели задач или в меню Пуск.
  • Теперь IDE может автоматически определять чувствительность к регистру для каждого каталога. Вам не нужно настраивать этот параметр вручную.
  • Всплывающие подсказки теперь отображаются одна за другой и не накладываются друг на друга.