Инструмент рефакторинга
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).