Расширение VSIX, которое создает файл .cs в текущем проекте при нажатии кнопки - PullRequest
0 голосов
/ 24 февраля 2020

Короче говоря, я создаю расширение Visual Studio в c#, которое позволяет тестировщикам, не относящимся к автоматизации, создавать сценарии автоматизации для веб-решений (используя селен).

Мы уже создали шаблон для пользователей который определяет структуру файла проекта (тестовые прогоны и т. д. 1013 *), и я использую windows элементы управления формы для создания диалога windows, в который они будут вводить такие вещи, как URls, Xpaths, имена страниц и т. д. c и c

Мой вопрос такой:

Как же я go могу создать файлы .CS динамически на основе их входных данных в этих наборах инструментов windows?

самое простое (он говорит) окно, которое у меня есть, это то, которое просто позволяет им ввести URl и имя веб-страницы. Когда они нажимают кнопку «ОК» в этом окне, он должен создать новый файл .CS с именем веб-страницы в качестве имени класса, URL-адресом в виде строки, которую веб-драйвер может использовать для запуска теста, и несколькими другими битами и кусочки в качестве шаблона для начала добавления веб-элементов.

Будем весьма признательны за любые рекомендации, кажется, что в Интернете очень мало ценного в создании расширений VS!

1 Ответ

1 голос
/ 25 февраля 2020

У вас есть несколько вариантов здесь.

Как правило, большинство людей делают это путем реализации пользовательского шаблона элемента проекта вместе с настраиваемым мастером на основе IWizard связанный с вашим шаблоном.

Если вы отображаете модальный пользовательский интерфейс из вашего IWizard.RunStarted, вы можете просто заполнить ReplacementsDictionary текстом, полученным из вашего пользовательского пользовательского интерфейса, который затем будет заменен на токены в вашем шаблонизированном Файл .cs.

Или вы можете программно добавить код в файл после того, как он был сгенерирован и добавлен в проект (по общему признанию, он гораздо сложнее и сложнее).

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

Существует ряд старых статей в блогах из архива VSX Arcana blog , которые вы также можете найти полезными.

...