Надстройки и мастера

Оценить
(0 голоса)
Каждый мастер состоит из двух основных компонентов: класса, который содержит код (и пользовательский интерфейс) для мастера и vsz-файла, который предоставляет информацию о мастере для Visual Studio.
Оценить
(0 голоса)
Для подключения к движку мастеров Visual Studio ваш класс wizard должен реализовать интерфейс EnvDTF.. IDTWizard. Этот интерфейс определяет единственный метод (Execute), который вызывается средой Visual Studio при каждом запуске мастера. Вот про­тотип для методаIDTWizard.Execute (на языке С#): void Execute ( Object Application, i n L hwr.dOwne r, ret Objocl[] ContextParams, ref ObjeclU CusLortParams, out wizardRcsult retval Передаваемые в метод Execute аргументы используются для связи мастера со средой Visual Studio и для передачи мастеру необходимых данных: □    Application — экземпляр DTE для интегрированной среды Visual Studio; □    hwndOwner — дескриптор родительского окна; это окно будет родителем для всех эле­ментов пользовательского интерфейса,…
Оценить
(0 голоса)
Если вы помните из нашего обсуждения надстроек, то каждый такой модуль использует addin-файл для регистрации надстройки в Visual Studio. Для мастеров таким эквивалентом являются файлы с расширением vsz; они сообщают Visual Studio о мастере и о его реали­зующем классе. Вот пример vsz-файла: VSWizard 8.0 Wizard=ContosoWizard.AddNewClassWizard Param= Строка vswizard в этом файле указывает версию мастера. Число 9.0 соответствует Visual Studio 2008, а предыдущие номера версий соответствуют предыдущим версиям Visual Studio. Примечание Формат vsz-файла не изменился с версии Visual Studio 2003, так что номер версии значения практически не имеет; многие из входящих в комплект Visual Studio 2008 мастеров промаркированы как файлы версии…
Оценить
(0 голоса)
Вот основные шаги для создания мастера: 1.   Создайте новый проект библиотеки классов; в этом проекте создайте новый класс, кото­рый реализует интерфейс IDTWizard. 2.   В классе мастера в методе Execute напишите код для выполнения задач мастера и ото­бражения его пользовательского интерфейса. 3.   Создайте vsz-файл для мастера. 4.   Создайте или отредактируйте vsdir-файл для ссылок на новый мастер и vsz-файл. Для освоения этих концепций давайте рассмотрим их в действии. Мы проследим за разра­боткой мастера от начала и до конца. В данном случае это будет мастер Add Item Wizard для С#. Его цель — собрать у пользователя некоторые основные данные, а затем создать класс…
Оценить
(0 голоса)
Методу Execute нужно сделать две вещи: показать диалоговое окно Windows Forms для ввода предпочтений (таких как имя класса) и обработать эти предпочтения (сгенерировать класс, который реализует страницу Tools Options, и добавить этот класс в текущий проект). Создание диалогового окна Сначала диалоговое окно: оно должно выглядеть примерно так же, как диалоговое окно на рис. 13.14 (в реализации этой формы нет ничего особенного, так что мы не будем подробно заниматься здесь ее кодом). Когда пользователь щелкает по кнопке ОК, то вы должны настроить несколько свойств формы, которые отражают выбранные в диалоговом окне элементы. Например, если вы реализуете эту форму как класс wizardDialog,…
Оценить
(0 голоса)
Здесь есть два подхода к созданию класса страницы Tools Options: вы можете создать все строки кода при помощи либо интерфейса Code DOM API (или при помощи примитивного создания/конкатенации строк), либо при помощи файла шаблона. Подход с файлом шаблона немного проще и, вероятно, несколько более эффективен, поэтому именно его мы здесь и опишем (тема шаблонов в Visual Studio подробно исследуется в следующей главе). Шаблон класса— это файл, который выглядит точно так же, как любой другой пользова­тельский элемент управления. Используя стандартный код, созданный для класса пользова­тельского элемента управления, вы заменяете его ключевые области строковыми указателя­ми мест заполнения. Например, имя класса указывается внутри…
Оценить
(0 голоса)
Метод Execute откроет форму мастера и (если пользователь не отменил диалоговое окно) будет использовать свойства формы для вызова нескольких внутренних процедур, отве­чающих за генерирование выходного класса: public void Execute(object Application, int hwndOwner, ref object[] ContextParams, ref object[] CustomParams, ref wizardResult retval) { // Экземпляр диалога для мастера WizardDialog dig = new WizardDialog(); // Показать диалог dig.Show(); i // Обработать результаты мастера if (dig.DialogResult == DialogResult.OK) { // Загрузить файл шаблона, заменить маркеры, // вернуть содержимое в виде строки string classContent = ReplaceTokens(dig.ClassName, dig.Category, dig.SubCategory, dig.UseRegistry, dig.RegKey); // Поместить возвращенную строку в файл и добавить файл в текущий проект // (третий…
Оценить
(0 голоса)
В этой главе мы обсудили, как использовать возможности API расширяемости Visual Studio для создания надстроек и мастеров. Вы познакомились с практически неограниченными возможностями расширения Visual Studio при помощи надстроек, которые делают вызовы API расширяемости и предоставляют свои интерфейсы самыми различными способами (включая нестандартные окна инструмен­тов и диалоговые окна). Вы также видели, как можно использовать вездесущую объектную модель расширяемости и встроенный движок мастеров для создания ваших собственных нестандартных мастеров (для добавления новых проектов, добавления новых элементов проектов, а также для вы­полнения пошаговых процессов практически любого типа внутри Visual Studio).
«ПерваяПредыдущая123СледующаяПоследняя»
Навигация
© 2018 www.visualstudios.ru. Все права защищены.