+38/044/257-2444
+38/067/502-3306
+38/050/370-3627
Новости

RubyMine 2018.2: присоединение отладчика к удаленным процессам, chruby, улучшенный анализ кода

RubyMine 2018.2: присоединение отладчика к удаленным процессам, chruby, улучшенный анализ кода

RubyMine 2018.2 Что нового:

Run/Debug Anything

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-файлов. Благодаря этому значительно улучшилось автодополнение и навигация по коду

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

Поддержка 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 стало доступно автодополнение для событий и их обработчиков.

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

Другие новости