Привет, Хабр!

Сезон летних обновлений IDE на базе IntelliJ продолжается, и в этой серии мы расскажем, чему новому научился RubyMine в версиях 2018.1 и вышедшей на днях RubyMine 2018.2.



Оглавление


Run/Debug Anything
Постфиксное дополнение кода
Рендеринг диаграмм в маркдауне
Улучшенный анализ кода
Поддержка chruby и улучшения для менеджеров версий Ruby
Перезапуск упавших тестов
YAML
Присоединение отладчика к удаленным процессам
JavaScript
Git
Кое-что еще

Run/Debug Anything


Дискуссия в нашем пользовательском Slack-чате привела к созданию удобного инструмента для запуска различных конфигураций и команд — Run Anything. Принцип его работы в чем-то схож с Search Everywhere. Однако вместо поиска чего угодно, Run Anything по двойному нажатию Ctrl позволяет запустить что угодно: rake-таски, rails s, тесты и другие конфигурации, а также консольные команды.



Более того, если при вызванном Run Anything зажать Shift, то инструмент перейдет в режим Debug Anything, что позволяет удобно запускать отладчик.



Кстати, как вы можете заметить, RubyMine запоминает ранее запущенные команды и скрипты и в будущем предложит их в выпадающем списке. Подробнее.

Постфиксное дополнение кода


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



Полный список поддерживаемых постфиксных темплейтов можно посмотреть в настройках (Preferences / Settings | Editor | General | Postfix Completion). Там же можно и отключить неактуальные. Подробнее.

Рендеринг диаграмм в маркдауне


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



Отметим, что поддержка Markdown осуществляется через плагин, совместимый с другими IDE от JetBrains. В RubyMine и IntelliJ IDEA Ultimate плагин установлен по умолчанию.

Улучшенный анализ кода


Мы существенно переписали вывод типов и механизм анализа Ruby-файлов. Благодаря этому значительно улучшилось автодополнение и навигация по коду.



Как видно на изображении, появилось новое действие для просмотра типа переменной. Вызвать его можно, нажав Ctrl+Shift+P (View | Expression Type). Подробнее.

Также в новом релизе доступно автодополнение и навигация к моделям с полиморфными связями. Подробнее.



Поддержка chruby и улучшения для менеджеров версий Ruby


В новой версии добавлена поддержка chruby и asdf. Вместе с тем все поддерживаемые менеджеры версий (RVM, rbenv, chruby, и asdf) стали доступны при подключении через WSL, Docker, а также через SSH и другие удаленные соединения.

Напомним, настроить удаленную SDK можно следующим образом: Preferences / Settings | Languages & Frameworks | Ruby SDK and Gems | New remote.



Перезапуск упавших тестов


Теперь после запуска тестов можно отдельно перезапустить только те, которые не прошли. Просто нажмите на соответствующую иконку.



Новая возможность также доступна при использовании пресетов типа rake test и rake spec.

YAML


Поддержка YAML была значительно расширена для всех IDE на базе IntelliJ. Прежде всего, мы добавили возможность форматирования кода в файлах .yml. Для форматирования используйте комбинацию клавиш ??L / Ctrl+Alt+L (Code | Reformat Code). Подробнее.



Появилась навигация по коду, автодополнение и поиск использований якорей (&) и их ссылок (*).



Также, якоря и ссылки можно переименовывать в одно действие (Shift+F6). Чтобы избежать конфликтов, IDE предупредит о том, что вы пытаетесь использовать имя уже существующего якоря. Подробнее.



Среди других улучшений — поддержка JSON Schema для автодополнения соответствующих конфигураций в YAML, а также возможность копирования пути к значению в YAML-файлах. Подробнее.





Присоединение отладчика к удаленным процессам


В версии 2016.3 мы анонсировали возможность присоединения отладчика к запущенным локальным процессам и пообещали добавить возможность присоединения к удаленным. В свежей версии мы реализовали обещанное!

Чтобы начать отладку, подключитесь к удаленному серверу через SSH (Preferences/Settings | Ruby SDK and Gems | New Remote | SSH Credentials). Не забудьте указать путь к интерпретатору Ruby.



Дополнительно можно связать локальную версию приложения с той, что запущена на сервере (Edit Path Mappings). Это упростит расстановку брейкпоинтов в любом месте приложения для дальнейшей отладки.



Теперь вы готовы к отладке удаленных процессов! Чтобы начать, выберите Run | Attach to Process или же найдите соответствующее действие, вызвав окно Find Action (Help | Find Action), как указано на картинке:



Подробнее о настройке отладки удаленных процессов читайте в нашем блоге.


JavaScript


  • Добавлен набор новых быстрых дополнений кода (Alt+Enter) для JavaScript и TypeScript: Implement interface, Create derived class, Implement members of an interface or abstract class, Generate cases for 'switch' и другие.
  • В IDE стали доступны все новые возможности TypeScript 2.9 и TypeScript 3.0.
  • Добавлен Annotate with type from JSDoc и другие быстрые исправления из TypeScript Language Service.
  • Появилась возможность извлечения компонентов React (Refactor | Extract Component) и конвертации классовых компонентов в функциональные (и наоборот).
  • В файлах .vue стало доступно автодополнение для событий и их обработчиков.

Подробнее об улучшениях JavaScript можно узнать из видео:



Git


Файлы, содержащие конфликты, теперь удобно группируются под пунктом Merge Conflicts. Нажав на Resolve вы ожидаемо попадете в диалог Files Merged with Conflicts.



Еще одна новая удобная опция, Browse repository at revision, позволяет просматривать более ранние версии репозитория. Активировать опцию можно, вызвав контекстное меню на нужном коммите в Git-логе. IDE откроет Project tool window, из которого можно перейти к просмотру более ранних версий файлов приложения.



В новой версии можно закоммитить изменения, минуя диалог Push. Для этого уберите соответствующую галочку в Preferences / Settings | Version Control | Git. Если вы нажмете Commit and Push (??K | Ctrl+Alt+K) при следующем коммите в диалоге Commit Changes, IDE не станет дополнительно отображать диалог Push, а сразу отправит изменения в репозиторий.



Кое-что еще


В новой версии вы также обнаружите улучшенный CoffeeScript, возможность использования разных аккаунтов GitHub, обновленные иконки и поддержку тачбара на макбуках.

Скачать новую версию можно на странице What’s new. Напоминаем, что первые 30 дней можно пользоваться RubyMine бесплатно.

Комментарии (0)