Возможности

Интегрированная среда разработки 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

Search everywhere

Действие Search Everywhere поможет найти все что угодно, будь то объект в исходном коде, действие IDE или элемент интерфейса. Просто дважды нажмите Shift и введите строку для поиска.

Подробнее

Структурный вид

Структурный вид

С легкостью перемещайтесь по структуре кода: переключайтесь между методами классов (в том числе унаследованными) и между HTML-тегами.

Подробнее

Ruby on Rails

RubyMine повышает продуктивность работы с Rails и поддерживает все основные практики веб-разработки.

Поддержка кода Rails

Поддержка кода Rails

RubyMine учитывает особенности концепций Rails и потому предлагает расширенные возможности анализа кода. Например:

  • Автодополнение работает для полей баз данных, ассоциаций и методов, определяемых именованными либо ресурсными маршрутами
  • Специальный рефакторинг Rename учитывает названия контроллеров, представления, тесты и хелперы
Редактор ERB/HAML/Slim/Liquid

Редактор ERB/HAML/Slim/Liquid

RubyMine позволяет редактировать ERB-представления, обеспечивая подстветку синтаксиса, сворачивание фрагментов кода, подстановку скобок, умное автодополнение и прочее. Если вы предпочитаете работать с представлениями HAML или Slim, RubyMine предоставляет подсветку синтаксиса для вставок кода на Ruby, а также помощь при написании кода на HTML (атодополнение, навигация и прочее).

Навигация по MVC

Навигация по MVC

При помощи команды Navigate | Related Symbol вы можете быстро переходить между контроллерами Rails, действиями, представлениями, моделями, схемами баз данных и тестами.

Подробнее

Генераторы Rails

Генераторы Rails

Добавлять новые модели, контроллеры, миграции и другие Rails-сущности в проект можно через удобный интерфейс с быстрым доступом к генераторам.

  • Действие Run Anything со встроенной возможностью автодополнения
  • Специальные интерфейсы для генерации Rails-сущностей

Подробнее

Поддержка интернационализации Rails (i18n)

Поддержка интернационализации Rails (i18n)

Создавайте и редактируйте свойства при помощи intention-действий, находите недостающие ключи при помощи инспекций, делайте предпросмотр локализованных значений и т. д.

Подробнее

Диаграмма зависимостей моделей

Диаграмма зависимостей моделей

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

Подробнее

Инструменты для Ruby

RubyMine тесно интегрирован со всеми популярными Ruby-инструментами, включая Rubocop, Bundler, Rake и многие другие.

Интеграция с Bundler

Интеграция с Bundler

Используйте интеграцию с Bundler, чтобы управлять зависимостями гемов вашего приложения прямо из IDE. Запускать команды Bundler можно прямо из окна Run Anything.

Подробнее

Менеджеры версий и поддержка гемсетов

Менеджеры версий и поддержка гемсетов

При помощи менеджеров версий RVM, rbenv, asdf и chruby вы можете легко переключаться между любыми установленными версиями Ruby. Также IDE позволяет работать с гемсетами RVM и rbenv.

Подробнее

Поддержка Rake

Поддержка Rake

Вы можете запустить любую задачу Rake из окна Run Anything (двойное нажатие Ctrl). Также это можно сделать прямо из редактора (используйте иконки на полях).

Подробнее

Интеграция с Rubocop

Интеграция с Rubocop

Исправляйте ошибки, найденные Rubocop, прямо в IDE. Также вы можете запустить проверку RuboCop для всего проекта и просмотреть результаты в едином отчете.

Подробнее

Встроенные консоли IRB и Rails

Встроенные консоли IRB и Rails

Взаимодействуйте с приложением, не покидая IDE — при помощи консолей IRB и Rails.

Подробнее

Встроенный профилировщик Ruby

Встроенный профилировщик Ruby

Выполняйте профилирование приложений Ruby и Rails из RubyMine при помощи профилировщика выборки rbspy.

Подробнее

Тестирование

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

Графический подход к запуску тестов

Графический подход к запуску тестов

Запускать и отлаживать тесты RSpec, Minitest, Shoulda и Cucumber можно прямо в IDE. При запуске тестовый раннер отобразит дерево с информацией обо всех исполняющихся тестах, включая их статус и продолжительность выполнения.

Подробнее

Создавайте тесты из шаблонов

Создавайте тесты из шаблонов

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

Подробнее

Навигация между тестами и тестируемым кодом

Навигация между тестами и тестируемым кодом

В RubyMine вы можете легко перемещаться между тестами и тестируемым кодом. А используя FactoryBot, вы можете даже переходить от моделей к фабрикам и обратно.

Подробнее

Просмотр покрытия кода

Просмотр покрытия кода

Интеграция с SimpleCov позволяет следить за тем, какое количество вашего кода покрыто тестами. Анализировать процент покрытия (по файлам и строкам) можно в специальном окне либо в самом редакторе. Также вы можете генерировать HTML-отчеты.

Подробнее

Отладка

В RubyMine встроен мощный инструмент отладки с графическим интерфейсом для Ruby, JS, и CoffeeScript.

Отладчик с графическим интерфейсом

Отладчик с графическим интерфейсом

RubyMine предлагает графический отладчик для работы с Ruby. Следите за пошаговым исполнением кода и просматривайте получаемую информацию в удобном виде.

Подробнее

Настраиваемые точки останова

Настраиваемые точки останова

Разместив точку останова на строке кода, вы можете задать условия ее срабатывания — исполнение будет приостановлено, если значение выражения окажется истинным.

Подробнее

Умная пошаговая отладка

Умная пошаговая отладка

При отладке вы всегда можете перейти внутрь метода или блока кода, находящегося на текущей строке. Если их несколько, то вы можете выбрать тот, который вас интересует.

Подробнее

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

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

Исследуйте состояние приостановленной программы при помощи интерактивной консоли по типу IRB. В ней вы можете проверять текущие значения переменных, изучать сложные объекты, вызывать методы и т. д.

Подробнее

Отладка JavaScript и Node.js

Отладка JavaScript и Node.js

Выполняйте отладку клиентского кода приложений на JavaScript, а также приложений на Node.js.

Подробнее

Удаленная отладка

Удаленная отладка

Выполняйте отладку при помощи удаленных интерпретаторов, таких как Docker, Vagrant, SSH и WSL. Вы также можете подключаться к удаленным процессам и отлаживать их.

Подробнее

VCS

Работайте с лучшими системами контроля версий, не покидая IDE: выполняйте поиск по истории изменений, управляйте ветками, разрешайте конфликты при мердже и многое другое. Вы можете просматривать локальную историю и не используя VCS: находите и восстанавливайте любые изменения, сделанные вне коммитов.

Поддержка основных систем контроля версий

Поддержка основных систем контроля версий

Вы можете работать с Git и GitHub, Mercurial, Subversion, Perforce и другими системами контроля версий прямо из IDE.

Подробнее

Проверка кода перед коммитом

Проверка кода перед коммитом

В окне Commit вы можете делать анализ и форматирование кода, просматривать оставшиеся комментарии TODO.

Подробнее

Встроенные инструменты Diff и Merge

Встроенные инструменты Diff и Merge

Встроенный инструмент Visual Merge помогает разрешать конфликты легко и быстро.

Подробнее

Полнофункциональная поддержка VCS-истории

Полнофункциональная поддержка VCS-истории

Отслеживайте изменения в исходном коде: легко переключайтесь между ветками, фильтруйте изменения по имени пользователя или по дате и т. д.

Подробнее

Локальная история, независимая от VCS

Локальная история, независимая от VCS

Восстанавливайте удаленные файлы, возвращайте отдельно взятые изменения, откатывайтесь к любой из предыдущих версий. Все это вы можете делать, даже если система контроля версий отключена — благодаря локальной памяти RubyMine.

Подробнее

Поддержка пул-реквестов GitHub

Поддержка пул-реквестов GitHub

Работайте с пул-реквестами прямо из RubyMine. Просматривать, комментировать и в конечном счете принимать изменения можно, не покидая IDE.

Подробнее

Настройте IDE под себя

Горячие клавиши, плагины, тема интерфейса — настройте все так, как нравится лично вам. JetBrains Mono — бесплатный шрифт с открытым исходным кодом, созданный специально для разработчиков. Он используется по умолчанию во всех IDE JetBrains.

Темы интерфейса

Темы интерфейса

RubyMine предлагает несколько цветовых схем для редактора. Вы можете корректировать их на свое усмотрение. Также вы можете разработать свою собственную тему.

Подробнее

Схемы клавиатуры

Схемы клавиатуры

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

Подробнее

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

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

RubyMine предлагает различные режимы просмотра, которые отвечают различным пользовательским предпочтениям. Например, вы можете скрыть все, что вас отвлекает (окна и панели инструментов, вкладки редактора и прочее), расширив при этом редактор кода.

Подробнее

Дополните IDE плагинами

Дополните IDE плагинами

Расширяйте возможности RubyMine при помощи плагинов. Вы можете поддержать дополнительные VCS, оптимизировать редактор, интегрировать различные инструменты и фреймворки. Полный список доступных плагинов вы можете найти во вкладке Marketplace.

Подробнее

Встроенные инструменты для разработчиков

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

Встроенный эмулятор терминала

Встроенный эмулятор терминала

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

Подробнее

Работа с базами данных из IDE

Работа с базами данных из IDE

Исследуйте и настраивайте базы данных при помощи плагина Database Tools and SQL. Плагин поддерживает системы управления базами данных, включая MySQL, PostgreSQL, SQLite и другие.

Подробнее

HTTP-клиент в редакторе кода

HTTP-клиент в редакторе кода

При помощи встроенного HTTP-клиента тестировать API теперь можно прямо из IDE. Составляйте и запускайте HTTP-запросы, не покидая редактор.

Подробнее

Удаленная разработка

Удаленная разработка

Запускать, отлаживать и тестировать код можно и удаленно — используя Docker, WSL, Vagrant или SSH. Для этого вам достаточно настроить удаленный интерпретатор.

Подробнее

Инструменты развертывания

Инструменты развертывания

RubyMine помогает работать с инструментами развертывания. Вы можете запускать команды Capistrano прямо из IDE, работать с конфигурационными файлами Kubernetes на YAML и т. д.

Управление конфигурацией

Управление конфигурацией

RubyMine позволяет автоматизировать инфраструктуру и работать c инструментами управления конфигурацией, такими как Chef и Puppet.