Действия генерации кода ReSharper способны автоматически создавать большие объемы кода: конструкторы для инициализации любого множества членов типа, методов и свойств, которых требует реализуемый интерфейс; проверки на равенство, форматирование членов и т. д.
Дополнительные способы генерации часто используемого кода, например классов, условных блоков и графических интерфейсов пользователя, описаны в разделе шаблоны кода.
ReSharper позволяет использовать метод или функцию, свойство, локальную переменную или поле и даже класс до их объявления. ReSharper предложит быстрое исправление для генерации соответствующего объявления на основе использования, а затем поможет отрегулировать объявление в соответствии с контекстом использования. Например, при создании метода из использования ReSharper не только создаст метод, но и определит тип возвращаемого значения, а также типы параметров.
Для быстрой генерации различных членов типа с помощью ReSharper достаточно нажать Alt+Ins.
Выберите Constructor в контекстном меню Generate, затем выберите поля, автосвойства и базовые конструкторы, которые требуется инициализировать в создаваемом конструкторе. Таким образом вы создадите конструктор всего за несколько нажатий клавиш.
Создание заглушек для реализации интерфейса или переопределения унаследованных функций-членов. Если указан список доступных методов для реализации или переопределения, генерируются соответствующие заглушки. Если в ответ на запрос выбрать несколько методов, можно создать несколько заглушек разом. Переопределенные свойства можно сделать автоматическими.
Делегирующие члены позволяют инкапсулировать определенное поведение или опубликовать методы поля класса через собственный интерфейс этого класса. Если указать поля и их методы, ReSharper сгенерирует обертывающие методы в текущем классе.
Сначала выберите команду Read-only properties или Properties в меню Generate. Затем выберите поле или несколько полей в ответ на запрос в диалоговом окне. Готово. Если требуется, можно сделать новое свойство виртуальным или скопировать XML-документацию из объявлений полей.
В любом классе можно быстро сгенерировать переопределяющий метод ToString()
, который возвращает форматирующую строку с любым количеством типизированных полей или автосвойств.
Быстрая генерация методов Equals()
и GetHashCode()
для текущего типа. ReSharper не только создает методы, но и генерирует код для проверки равенства и/или вычисления хэш-кода. Кроме того, ReSharper позволяет генерировать операторы «равно» и «не равно», а также интерфейс IEquatable<T>
с сильной типизацией.
Предусмотрено несколько способов управления генерацией новых членов.
Во-первых, вы можете настроить собственные правила именования для разных членов. Если правила именования установлены, ReSharper выполняет их требования при создании новых членов.
Остальные параметры настраиваются в меню ReSharper | Options | Code Editing | Members Generation. Например, можно выбрать один из вариантов содержимого тела членов, которое должно генерироваться по умолчанию: NotImplementedException()
, возврат значения по умолчанию, некомпилируемый код.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.