Интегрированная среда разработки RubyMine позволяет разработчикам эффективно работать с проектами Ruby/Rails — от написания и отладки кода до тестирования и развёртывания финального приложения. Ниже мы расскажем вам об основных возможностях RubyMine.
Вы можете писать код быстрее, используя умное автодополнение с учетом типов, инспекции, шаблоны кода (live template) и intention-действия.
Программируйте быстрее, используя автодополнение. Пока вы пишете код, IDE будет попутно предлагать вам переменные, методы и ключевые слова, подходящие по контексту.
RubyMine поддерживает автодополнение для Ruby и Rails, JavaScript и CoffeeScript, ERB, HAML, CSS и Sass.
Улучшайте свой код при помощи рефакторинга Rename and Delete (переименование и удаление). Вы можете объявлять константы, извлекать переменные, параметры, методы, родительские классы и т. д. — Rename and Delete позволяет делать это быстро и безопасно.
Все рефакторинги учитывают специфику Ruby on Rails: например, при переименовании контроллера соответствующие хелперы, представления и тесты также будут переименованы.
Вы можете разработать свой стиль написания кода для любого из языков. Настройте ширину отступов, правила выравнивания и расстановки пробелов и поделитесь настройками со своей командой.
RubyMine будет автоматически применять заданный стиль, пока вы пишете код. Также можно выбрать имеющийся файл и выполнить переформатирование для него.
Просматривайте документацию во всплывающем окне. Создавайте недостающие YARD-теги и проверяйте их на валидность при помощи intention-действий.
RubyMine также использует YARD-аннотации для анализа кода — благодаря ним вы получаете подсказки по параметрам методов, а также дополнительные варианты автодополнения.
Шаблоны фрагментов кода (live templates) позволяют экономить время, не расписывая структуры привычных паттернов вновь и вновь. Вы можете настроить имеющиеся шаблоны либо создать свои.
RubyMine всегда уведомит вас, найдя ошибку или другого рода проблему в вашем коде (неверное количество аргументов вызова, недостижимый код, неиспользуемые переменные и прочее).
Быстрые исправления, предлагаемые IDE в таких ситуациях, позволяют вносить изменения автоматически.
Исследуйте проект легко и быстро при помощи возможностей поиска и навигации.
Переходите к нужному объявлению, реализации, суперметоду, вхождению или тесту буквально в один клик. Навигация может выполняться не только к сущностям внутри проекта, но и во внешние гемы.
Вы можете с легкостью находить все точки вхождения того или иного класса, метода, переменной, символа и т. д.
Действие Search Everywhere поможет найти все что угодно, будь то объект в исходном коде, действие IDE или элемент интерфейса. Просто дважды нажмите Shift и введите строку для поиска.
С легкостью перемещайтесь по структуре кода: переключайтесь между методами классов (в том числе унаследованными) и между HTML-тегами.
RubyMine повышает продуктивность работы с Rails и поддерживает все основные практики веб-разработки.
RubyMine учитывает особенности концепций Rails и потому предлагает расширенные возможности анализа кода. Например:
RubyMine позволяет редактировать ERB-представления, обеспечивая подстветку синтаксиса, сворачивание фрагментов кода, подстановку скобок, умное автодополнение и прочее. Если вы предпочитаете работать с представлениями HAML или Slim, RubyMine предоставляет подсветку синтаксиса для вставок кода на Ruby, а также помощь при написании кода на HTML (атодополнение, навигация и прочее).
При помощи команды Navigate | Related Symbol вы можете быстро переходить между контроллерами Rails, действиями, представлениями, моделями, схемами баз данных и тестами.
Добавлять новые модели, контроллеры, миграции и другие Rails-сущности в проект можно через удобный интерфейс с быстрым доступом к генераторам.
Создавайте и редактируйте свойства при помощи intention-действий, находите недостающие ключи при помощи инспекций, делайте предпросмотр локализованных значений и т. д.
В RubyMine вы можете просматривать модели проекта вместе с их атрибутами, анализировать структуру проекта и быстро переходить к нужному коду.
RubyMine тесно интегрирован со всеми популярными Ruby-инструментами, включая Rubocop, Bundler, Rake и многие другие.
Используйте интеграцию с Bundler, чтобы управлять зависимостями гемов вашего приложения прямо из IDE. Запускать команды Bundler можно прямо из окна Run Anything.
При помощи менеджеров версий RVM, rbenv, asdf и chruby вы можете легко переключаться между любыми установленными версиями Ruby. Также IDE позволяет работать с гемсетами RVM и rbenv.
Вы можете запустить любую задачу Rake из окна Run Anything (двойное нажатие Ctrl). Также это можно сделать прямо из редактора (используйте иконки на полях).
Исправляйте ошибки, найденные Rubocop, прямо в IDE. Также вы можете запустить проверку RuboCop для всего проекта и просмотреть результаты в едином отчете.
Взаимодействуйте с приложением, не покидая IDE — при помощи консолей IRB и Rails.
Выполняйте профилирование приложений Ruby и Rails из RubyMine при помощи профилировщика выборки rbspy.
RubyMine позволяет быстро создавать и запускать тесты, а также легко управлять ими. IDE поддерживает все популярные фреймворки тестирования.
Вы можете генерировать тесты на основе имеющихся настраиваемых шаблонов. Вы также можете создавать тесты прямо из кода класса, который хотите протестировать — путь к новому файлу будет воспроизведен на основе пути к тестируемому классу.
В RubyMine вы можете легко перемещаться между тестами и тестируемым кодом. А используя FactoryBot, вы можете даже переходить от моделей к фабрикам и обратно.
Интеграция с SimpleCov позволяет следить за тем, какое количество вашего кода покрыто тестами. Анализировать процент покрытия (по файлам и строкам) можно в специальном окне либо в самом редакторе. Также вы можете генерировать HTML-отчеты.
В RubyMine встроен мощный инструмент отладки с графическим интерфейсом для Ruby, JS, и CoffeeScript.
RubyMine предлагает графический отладчик для работы с Ruby. Следите за пошаговым исполнением кода и просматривайте получаемую информацию в удобном виде.
Разместив точку останова на строке кода, вы можете задать условия ее срабатывания — исполнение будет приостановлено, если значение выражения окажется истинным.
При отладке вы всегда можете перейти внутрь метода или блока кода, находящегося на текущей строке. Если их несколько, то вы можете выбрать тот, который вас интересует.
Исследуйте состояние приостановленной программы при помощи интерактивной консоли по типу IRB. В ней вы можете проверять текущие значения переменных, изучать сложные объекты, вызывать методы и т. д.
Выполняйте отладку клиентского кода приложений на JavaScript, а также приложений на Node.js.
Выполняйте отладку при помощи удаленных интерпретаторов, таких как Docker, Vagrant, SSH и WSL. Вы также можете подключаться к удаленным процессам и отлаживать их.
Работайте с лучшими системами контроля версий, не покидая IDE: выполняйте поиск по истории изменений, управляйте ветками, разрешайте конфликты при мердже и многое другое. Вы можете просматривать локальную историю и не используя VCS: находите и восстанавливайте любые изменения, сделанные вне коммитов.
Вы можете работать с Git и GitHub, Mercurial, Subversion, Perforce и другими системами контроля версий прямо из IDE.
В окне Commit вы можете делать анализ и форматирование кода, просматривать оставшиеся комментарии TODO.
Встроенный инструмент Visual Merge помогает разрешать конфликты легко и быстро.
Отслеживайте изменения в исходном коде: легко переключайтесь между ветками, фильтруйте изменения по имени пользователя или по дате и т. д.
Восстанавливайте удаленные файлы, возвращайте отдельно взятые изменения, откатывайтесь к любой из предыдущих версий. Все это вы можете делать, даже если система контроля версий отключена — благодаря локальной памяти RubyMine.
Работайте с пул-реквестами прямо из RubyMine. Просматривать, комментировать и в конечном счете принимать изменения можно, не покидая IDE.
Горячие клавиши, плагины, тема интерфейса — настройте все так, как нравится лично вам. JetBrains Mono — бесплатный шрифт с открытым исходным кодом, созданный специально для разработчиков. Он используется по умолчанию во всех IDE JetBrains.
RubyMine предлагает несколько цветовых схем для редактора. Вы можете корректировать их на свое усмотрение. Также вы можете разработать свою собственную тему.
Чтобы работать быстрее, используйте возможности клавиатуры по полной. Вы можете выбрать любую из существующих раскладок либо создать собственную.
RubyMine предлагает различные режимы просмотра, которые отвечают различным пользовательским предпочтениям. Например, вы можете скрыть все, что вас отвлекает (окна и панели инструментов, вкладки редактора и прочее), расширив при этом редактор кода.
Расширяйте возможности RubyMine при помощи плагинов. Вы можете поддержать дополнительные VCS, оптимизировать редактор, интегрировать различные инструменты и фреймворки. Полный список доступных плагинов вы можете найти во вкладке Marketplace.
Чтобы оптимизировать работу, рекомендуем вам сразу же установить несколько полезных инструментов, включая плагин для работы с базами данных, эмулятор терминала и поддержку Capistrano.
Встроенный эмулятор терминала RubyMine позволяет работать с командной оболочкой прямо из IDE. Взаимодействуйте со средой Ruby, запускайте операции Git и другие задачи через командную строку — для этого вам больше не нужно переходить в другое приложение.
Исследуйте и настраивайте базы данных при помощи плагина Database Tools and SQL. Плагин поддерживает системы управления базами данных, включая MySQL, PostgreSQL, SQLite и другие.
При помощи встроенного HTTP-клиента тестировать API теперь можно прямо из IDE. Составляйте и запускайте HTTP-запросы, не покидая редактор.
Запускать, отлаживать и тестировать код можно и удаленно — используя Docker, WSL, Vagrant или SSH. Для этого вам достаточно настроить удаленный интерпретатор.
RubyMine помогает работать с инструментами развертывания. Вы можете запускать команды Capistrano прямо из IDE, работать с конфигурационными файлами Kubernetes на YAML и т. д.