Поделиться через


Настройка преобразования текста T4

Текстовые шаблоны — это функция Visual Studio, которая позволяет создавать программный код или другие текстовые файлы с помощью процесса преобразования. С помощью пакета SDK Для Visual Studio можно расширить процесс преобразования шаблона по умолчанию, настроив обработчик директивы текстового шаблона или узел текстового шаблона.

В этом разделе

Процесс преобразования текстовых шаблонов: описывает работу преобразования текста и объясняет роль узла шаблона и процессоров директив.

Создание пользовательских обработчиков директив шаблонов текста T4: обработчик директив относится к директивам в шаблоне, таким как <#@template#>. он выполняется во время компиляции шаблона, и может загружать сборки и другие ресурсы. Он также может вставить код, который будет загружать ресурсы во время выполнения. Определив собственный обработчик директив, вы можете снизить сложность шаблонов.

Вызов преобразования текста в расширении VS: если вы пишете расширение Visual Studio, например команду меню или обработчик событий, расширение может использовать службу шаблонов текста для преобразования любого текстового шаблона. Данные параметров можно передать в шаблон с помощью объекта Session и получить значения из шаблона с помощью директивы <#@parameter#> .

Обработка текстовых шаблонов с помощью пользовательского узла: при выполнении кода текстового шаблона узел предоставляет доступ к внешним файлам и состоянию приложения. Например, узел, выполняющий преобразования текста в Visual Studio, может предоставить доступ к Обозреватель решений. Он также отображает ошибки в окне сообщения об ошибке. Если вы хотите выполнить преобразования текста в другом контексте, можно определить собственный узел, предоставляющий доступ к службам, доступным в этом контексте.

Если вы пишете расширение Visual Studio, рассмотрите возможность использования существующей службы преобразования текста вместо написания собственного узла. Дополнительные сведения см. в разделе "Вызов преобразования текста" в расширении VS.