Инструмент рефакторинга

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

Стиль кода

  • RubyMine помогает соблюдать единый стиль кода: автоматически применяет заданное форматирование, когда вы пишете код, а также умеет мгновенно менять оформление целого файла.
  • Выберите свой стиль форматирования для любого языка: настройте ширину отступов, правила выравнивания и расстановки пробелов и поделитесь настройками со своей командой.
  • RubyMine умеет автоматически применять настройки форматирования, указанные в файле .editorconfig.

Инспекции кода

  • RubyMine находит фрагменты кода, требующие рефакторинга, и проверяет код на разные типы ошибок: неправильное количество аргументов вызова, неиспользованная локальная переменная, недостижимый код и т. д.
  • Инспекции Rails предупредят о неправильном использовании методов модели в представлении, хелперов или действий контроллера, а также о наличии устаревших функций.
  • Для любой инспекции есть описание. При необходимости инспекцию можно отключить или настроить соответствующим образом.

Исправление ошибок на лету

  • RubyMine производит анализ кода на лету и мгновенно подсвечивает ошибки.
  • Для каждой инспекции RubyMine предлагает вариант быстрого исправления, а также возможность отключить правило или скрыть предупреждение.
  • Быстрые исправления позволяют создавать методы, действия, частичные представления, файлы и другие элементы проекта из их использований. Исправления можно также применять для рефакторинга и изменения форматирования.

Рефакторинги для разных языков

  • RubyMine позволяет быстро и безопасно выполнять преобразование кода на разных языках с помощью рефакторингов rename and delete (переименование и удаление), extract method/module/superclass (извлечение метода/модуля/суперкласса), introduce variable/constant/parameter (введение переменной/константы/параметра), inline variable/method (встраивание переменной/метода) и других.
  • Все рефакторинги учитывают специфику Ruby on Rails: например, при переименовании контроллера соответствующие хелперы, представления и тесты также будут переименованы.
  • В RubyMine есть специальные рефакторинги для Rails, например Extract Partial, который позволяет вынести код файла представления в отдельное частичное представление (Partial View).