Фрагменты кода

Фрагменты кода, которые часто называют шаблонами кода, удобны для эффективного программирования, так как позволяют вставлять и редактировать предварительно написанные блоки кода. Они удобны для быстрого добавления типовых шаблонов или даже для изучения новых шаблонов, когда разработчику неизвестен синтаксис. Существуют шаблоны для C#, F#, HTML, XML, Python и Razor.

Этот раздел описывает, как создавать, вставлять и использовать фрагменты кода.

Вставка фрагмента кода

Существует несколько разных способов для добавления фрагментов кода, некоторые из которых описаны ниже:

  • Вставка с помощью клавиши TAB. Начните вводить имя шаблона, выберите его в списке и дважды нажмите клавишу TAB, чтобы добавить его:

    Расширение функций клавиши TAB

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

    Фрагменты кода на панели элементов

  • Команда вставки шаблонов. Сейчас сочетание клавиш по умолчанию для вставки шаблона отсутствует. Чтобы настроить его, перейдите в раздел Visual Studio > Параметры > Настраиваемые сочетания клавиш и выполните поиск template. Затем вы можете добавить нужные сочетания клавиш в поле "Изменить привязку" и нажать кнопку Применить:

    Команда вставки шаблона

Создание шаблона

Хотя доступно множество шаблонов для различных языков, которые вы можете использовать и изменять, можно также добавлять новые шаблоны, перейдя в раздел Visual Studio > Параметры > Текстовый редактор > Фрагменты кода:

Вставка нового шаблона

Нажмите кнопку Добавить или Изменить, чтобы создать или изменить фрагменты кода.

Ключевые слова во фрагментах кода

Когда фрагмента кода помещается в редактор, определяемые ключевые слова выделяются и их можно изменять, переходя от одного к другому c помощью клавиши TAB. Ключевые слова ведут себя как переменные во фрагменте кода и определяются добавлением знака доллара $ в начале и конце.

Ниже показано окно Изменение шаблона с открытым для правки встроенным фрагментом prop. Фрагмент кода содержит два ключевых слова — $type$ и $name$, которые могут иметь дополнительные свойства (такие как значение по умолчанию и всплывающая подсказка), задаваемые в правой части окна.

Окно "Изменение шаблона"

Следующие поля используются для определения фрагмента кода:

  • Сочетание клавиш. Вводимый пользователем текст для вставки фрагмента.
  • Группа. Это значение используется для группировки фрагментов кода в меню содержимого фрагментов кода.
  • Описание. Объяснение назначения фрагмента кода.
  • MIME. Определяет, в каких типах файлов доступен фрагмент.
  • Является расширяемым шаблоном. Если этот флажок установлен, фрагмент можно вставить с помощью сочетания клавиш в позиции курсора.
  • Заключен в шаблон. Если этот флажок установлен, шаблон отобразится в контекстном меню Заключить в... редактора.
  • Текст шаблона. Фрагмент, который будет вставлен в редактор. Заполнители ключевого слова можно определить, окружив лексему значками доллара, например $type$.
  • Панель свойств ключевого слова. В правой верхней части окна можно выбрать ключевое слово в раскрывающемся списке (в нашем примере — type), чтобы изменить его свойства, такие как значение по умолчанию и всплывающая подсказка.

Использование ключевых слов в редакторе

Чтобы использовать фрагмент с ключевыми словами, как в нашем примере, нажмите сочетание клавиш и дважды нажмите клавишу TAB, чтобы вставить содержимое фрагмента кода в позиции курсора.

Вставленный фрагмент кода с ключевыми словами

Используйте клавишу TAB для перехода от object к MyProperty, чтобы настроить фрагмент кода для своего класса.

Ключевое слово может повторяться во фрагменте. В этом примере шаблона for ключевое слово $i$ встречается трижды.

Шаблон фрагмента кода с повторяющимся ключевым словом

При работе в редакторе по нажатию клавиши TAB выполняется переход от первого i к max. Если вы повторно введете i с именем другой переменной, обновятся все три экземпляра.

Вставленный фрагмент кода с несколькими ключевыми словами

Зарезервированные ключевые слова

Существует два зарезервированных ключевых слова, которые можно использовать во фрагменте:

  • $selected$. Если для фрагмента включен параметр Заключен в шаблон, это ключевое слово будет заменено текстом, который был выделен в редакторе в момент выбора фрагмента кода.
  • $end$. Когда пользователь заканчивает редактировать ключевые слова во фрагменте, курсор помещается в расположение ключевого слова $end$.

Фрагмент кода for из предыдущего раздела иллюстрирует применение этих двух зарезервированных ключевых слов.

См. также раздел