Шаблоны кода

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

Шаблоны кода (live template) ReSharper в C#

Шаблоны Live Templates

Live Templates представляют собой более продуманную версию сниппетов Visual Studio.

Если вам нужно применить готовый шаблон, просто введите его аббревиатуру и нажмите Tab, чтобы развернуть шаблон. Используйте клавиши Enter или Tab для навигации по параметрам шаблона (если вы используете нативное автодополнение Visual Studio, нажмите Ctrl+E, L, чтобы увидеть список доступных шаблонов и развернуть выбранный).

В отличие от обычных сниппетов, ReSharper умееет предсказывать из контекста, какие переменные, поля и типы следует использовать в шаблоне. В большинстве случаев вам даже не придется ничего печатать — просто выберите нужное значение из списка. Кстати, ReSharper импортирует сниппеты Visual Studio для C#, и вы можете их использовать в качестве Live Templates.

ReSharper предоставляет более 170 готовых шаблонов для большинства поддерживаемых языков и технологий. Этот список включает шаблоны для итерации по коллекции, написания методов утверждения и запросов LINQ, создания новых массивов, вывода значений, генерации автосвойств и многого другого.

Шаблоны обертывания (surround template) ReSharper в C#

Шаблоны обертывания

Шаблоны Surround используются для быстрого заключения выражения, отдельного оператора или произвольного блока кода в конструкции if...else, try...catch и др. ReSharper переформатирует код, cкорректирует выделение и/или переставит курсор, чтобы вы могли продолжить ввод сразу после применения шаблона.

Чтобы обернуть фрагмент кода, выделите его и нажмите Ctrl+E, U — во всплывающем окне вы увидите доступные шаблоны. Другой способ — нажать Alt+Enter при выделении. Откроется контекстное меню, в котором вы найдете применимые шаблоны, а также дополнительные функции, такие как форматирование кода и контекстные действия.

Шаблоны файлов ASP.NET в ReSharper

Шаблоны файлов

ReSharper позволяет добавлять один или несколько новых файлов с предопределенными фрагментами кода. Например, вы можете создать файл с объявлением класса, интерфейсом, объявлением структуры и так далее. Чтобы выбрать нужный шаблон из списка, нажмите Ctrl+Alt+Ins прямо в редакторе.

Если шаблон файла подразумевает создание нескольких файлов, ReSharper добавит эти файлы в указанные места в вашем решении и инициализирует их содержимое синхронизированными параметрами.

Постфиксные шаблоны для C# в ReSharper

Постфиксные шаблоны

Постфиксные шаблоны помогают преобразовывать введенные выражения, не возвращаясь в начало строки. Например, вы можете обернуть текущее выражение в if, while, lock, using, добавить return, yield return, await в начало, выполнить итерацию по коллекции, сгенерировать оператор switch, привести это выражение к определенному типу или даже ввести для него поле или свойство.

Применение шаблонов исходного кода в ReSharper

Шаблоны исходного кода (только для C#)

Список постфиксных шаблонов легко расширяется собственными шаблонами исходного кода (source template), которые можно создавать в любом месте кода проекта в виде методов расширения. Их можно определять для конкретных типов в проекте или для любых стандартных типов в виде открытых методов, маркированных атрибутом [SourceTemplate] из фреймворка JetBrains.Annotations.

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

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

При выборе шаблона в списке автодополнения выражение заменяется кодом шаблона, а курсор перемещается, как указано в шаблоне.

Редактор шаблонов

Изменение шаблонов и совместный доступ

В ReSharper вы можете изменять существующие шаблоны и создавать свои собственные.

ReSharper предоставляет редактор шаблонов, который открывается в отдельной панели Visual Studio. Это позволяет легко переключаться между кодом и окном редактирования шаблонов и ускоряет их тестирование в реальных условиях.

Окно Templates Explorer

Для управления шаблонами используйте окно Templates Explorer (ReSharper | Tools | Templates Explorer).

С его помощью можно легко поделиться любым готовым шаблоном с вашей командой.

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

Кроме того, шаблоны можно экспортировать в файл и делиться им с другими разработчиками. Аналогично вы можете импортировать шаблоны, созданные другими разработчиками.

Обратите внимание:

Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.