ReSharper предоставляет несколько видов готовых шаблонов, которые помогают быстрее писать часто используемые конструкты, заключать код в блоки и создавать новые файлы. Вы можете создавать свои собственные шаблоны, которые отвечают вашим привычкам и особенностям кодовой базы.
Live Templates представляют собой более продуманную версию сниппетов Visual Studio.
Если вам нужно применить готовый шаблон, просто введите его аббревиатуру и нажмите Tab, чтобы развернуть шаблон. Используйте клавиши Enter или Tab для навигации по параметрам шаблона (если вы используете нативное автодополнение Visual Studio, нажмите Ctrl+E, L, чтобы увидеть список доступных шаблонов и развернуть выбранный).
В отличие от обычных сниппетов, ReSharper умееет предсказывать из контекста, какие переменные, поля и типы следует использовать в шаблоне. В большинстве случаев вам даже не придется ничего печатать — просто выберите нужное значение из списка. Кстати, ReSharper импортирует сниппеты Visual Studio для C#, и вы можете их использовать в качестве Live Templates.
ReSharper предоставляет более 170 готовых шаблонов для большинства поддерживаемых языков и технологий. Этот список включает шаблоны для итерации по коллекции, написания методов утверждения и запросов LINQ, создания новых массивов, вывода значений, генерации автосвойств и многого другого.
Шаблоны Surround используются для быстрого заключения выражения, отдельного оператора или произвольного блока кода в конструкции if...else
, try...catch
и др. ReSharper переформатирует код, cкорректирует выделение и/или переставит курсор, чтобы вы могли продолжить ввод сразу после применения шаблона.
Чтобы обернуть фрагмент кода, выделите его и нажмите Ctrl+E, U — во всплывающем окне вы увидите доступные шаблоны. Другой способ — нажать Alt+Enter при выделении. Откроется контекстное меню, в котором вы найдете применимые шаблоны, а также дополнительные функции, такие как форматирование кода и контекстные действия.
ReSharper позволяет добавлять один или несколько новых файлов с предопределенными фрагментами кода. Например, вы можете создать файл с объявлением класса, интерфейсом, объявлением структуры и так далее. Чтобы выбрать нужный шаблон из списка, нажмите Ctrl+Alt+Ins прямо в редакторе.
Если шаблон файла подразумевает создание нескольких файлов, ReSharper добавит эти файлы в указанные места в вашем решении и инициализирует их содержимое синхронизированными параметрами.
Постфиксные шаблоны помогают преобразовывать введенные выражения, не возвращаясь в начало строки. Например, вы можете обернуть текущее выражение в if
, while
, lock
, using
, добавить return
, yield return
, await
в начало, выполнить итерацию по коллекции, сгенерировать оператор switch, привести это выражение к определенному типу или даже ввести для него поле или свойство.
Список постфиксных шаблонов легко расширяется собственными шаблонами исходного кода (source template), которые можно создавать в любом месте кода проекта в виде методов расширения. Их можно определять для конкретных типов в проекте или для любых стандартных типов в виде открытых методов, маркированных атрибутом [SourceTemplate]
из фреймворка JetBrains.Annotations.
Чтобы проиллюстрировать использование шаблонов исходного кода, создадим несложный шаблон, проверяющий значения типа double на равенство числу пи и перемещающий курсор на юнит-тесты для следующей строки.
Теперь после любого выражения, вычисляемое значение которого имеет тип double, можно ввести точку и вызвать созданный шаблон.
При выборе шаблона в списке автодополнения выражение заменяется кодом шаблона, а курсор перемещается, как указано в шаблоне.
В ReSharper вы можете изменять существующие шаблоны и создавать свои собственные.
ReSharper предоставляет редактор шаблонов, который открывается в отдельной панели Visual Studio. Это позволяет легко переключаться между кодом и окном редактирования шаблонов и ускоряет их тестирование в реальных условиях.
Для управления шаблонами используйте окно Templates Explorer (ReSharper | Tools | Templates Explorer).
С его помощью можно легко поделиться любым готовым шаблоном с вашей командой.
Еще один способ использования шаблонов вместе с участниками команды — механизм уровней параметров, поскольку шаблоны исходного кода сохраняются в параметрах ReSharper. Чтобы другие разработчики, работающие над тем же решением, могли использовать шаблоны, можно либо создать новые шаблоны кода в уровне параметров, с которым работает вся команда, либо скопировать существующие шаблоны в такой общий уровень параметров.
Кроме того, шаблоны можно экспортировать в файл и делиться им с другими разработчиками. Аналогично вы можете импортировать шаблоны, созданные другими разработчиками.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.