Использование файла шаблона

Оценить
(0 голоса)

Здесь есть два подхода к созданию класса страницы Tools Options: вы можете создать все строки кода при помощи либо интерфейса Code DOM API (или при помощи примитивного создания/конкатенации строк), либо при помощи файла шаблона. Подход с файлом шаблона немного проще и, вероятно, несколько более эффективен, поэтому именно его мы здесь и опишем (тема шаблонов в Visual Studio подробно исследуется в следующей главе).

Шаблон класса— это файл, который выглядит точно так же, как любой другой пользова­тельский элемент управления. Используя стандартный код, созданный для класса пользова­тельского элемента управления, вы заменяете его ключевые области строковыми указателя­ми мест заполнения. Описание: C:\Users\Артём\Desktop\media\image315.jpeg

Например, имя класса указывается внутри мастера, поэтому вам придется кое-что заменить в шаблонном классе:

public class %TemplateClassName% : UserControl, IDTToolsOptionsPage {

• • •

}

Вам понадобятся в классе также и члены IDTToolsOptionsPage — такие как OnAfterCreated, ОпОК и т. д. Для большинства из этих методов подойдет простой вызов System.NotlmplementedException, напоминающий пользователю о том, что нужно вве­сти код. Однако для OnAfterCreated и ОпОК вам нужен вариант включения строки кода для открытия указанного ключа реестра:

public void OnAfterCreated(DTE DTEObject)

{

// Прочитать наше текущее значение из реестра.

// Не забудьте включить сюда код для чтения из реестра.

%StartRegistryCode%

RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"%TemplateRegKey%") ;

%EndRegistryCode%

}

public void OnOK()

i

{

// He забудьте включить сюда код для сохранения опций.

// Обновить реестр новым значением %StartRegistryCode%

RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"%TemplateRegKey%") ; %EndRegistryCode%

}

Здесь вы опять используете указатели места заполнения: %startRegistryCode% и %Еn- dRegistryCode% ограничивают строку кода OpenSubKey. Если пользователь снимает в мастере флажок User Registry, то вы удаляете все между этими двумя указателями места заполнения (включая и сами указатели). %TemplateRegKey% используется как идентифика­тор для значения ключа реестра; его вы тоже получаете от пользователя в диалоговом окне мастера.

Выполнение мастера
Резюме
Завершение мастера
Структура надстройки
Жизненный цикл надстройки

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.