Я создал AddInHost, с помощью которого я могу расширить команды VS Ide (щелкните правой кнопкой мыши по SolutionExplorerMenu).Генерация ClassTemplate в VS 2008 с T4 или другой технологией
Теперь я хочу использовать AddIn для генерации кода из шаблона.
Я читаю много статей о генерации кода T4 и пробовал некоторые простые шаблоны, но я не вижу, как я могу использовать технику T4 в своем AddIn.
Для шаблонов мне нужно указать некоторые параметры, которые я могу использовать в шаблоне. мне нужны параметры для
- пространство имен
- ИмяКласса
- Methodcollection
- PropertyCollection
Я пытался использовать
<#@ property name="ClassName" type="System.String" processor="PropertyProcessor" #>
, но после того, как я прочитал некоторые статьи, которые я думал, что это Shoul d не будет работать правильно.
Моя проблема в том, что я не могу найти решение для работы с T4 и моей AddIn.
Все команды в Addin имеют один метод «Выполнить», где записывается вся реализация конкретной команды. В команде у меня есть ссылка на хост (= VS IDE), поэтому я могу полностью использовать модель IDE.
Как я могу использовать T4 в своем AddIn для создания файла на основе шаблона?
Как я должен это делать?
Должен ли я добавить файл в проект назначения через ProjectItems.AddFromFile()
или могу ли я использовать функции T4?
Я немного смущен, как я могу реализовать свои требования.
Большое спасибо.
Вот как я попробовал это раньше, но я не видел, как я могу объединить ITextTemplating с моим CommandAction? Должен ли я создать свой пользовательский «ITextTemplatingEngineHost», когда я использую движок? Должен ли я создать движок/хост через ServiceProvider или напрямую через «новую» инициализацию? – Khh