Предоставление настроек надстройки

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

Последний шаг — это сделать конфигурируемым язык надстройки. Пользователи должны иметь возможность указать, какой код они хотят получить из надстройки: на языке C# или на языке Visual Basic. Для этого вам нужно иметь пользовательский интерфейс в виде стра­ницы Options (которая выведет диалоговое окно Options), а также место для сохранения выбранных опций.

Создание пользовательского интерфейса страницы Option

Надстройки могут ссылаться на страницу Options, которая будет появляться в диалоговом окне Tools Options. Точно так же, как вы делали для пользовательского окна инструментов, вы создадите пользовательский элемент управления для реализации логики и пользователь­ского интерфейса страницы Options.

Начните с добавления нового пользовательского элемента управления в существующий проект надстройки. Для нашего примера назовите этот класс PaletteControloptionPage. Добавление метки и двух переключателей позволит вам указать языковое предпочтение для надстройки палитры. На рис. 13.11 показана панель конструирования страницы Options.

Пользовательский элемент управления для страницы Options должен наследовать от

IDTToolsOptionsPage:

public partial class PaletteControlOptionPage : UserControl,

IDTToolsOpt ions Page

{Описание: C:\Users\Артём\Desktop\media\image309.jpeg

public PaletteControlOptionPage()

{

InitializeComponent();

}

Интерфейс iDTToolsOptionsPage определяет пять методов (табл. 13.5).

Эти методы вызываются по мере изменения нормальных состояний страницы Options (рис. 13.12).

Размещая код внутри этих методов, вы можете считывать и сохранять любые изменения конфигурации, которые пользователь делает на странице Options. В нашем случае все мож­но сделать просто: надо прочитать значение из реестра (в методе OnAfterCreated) и обно­вить этот же самый элемент в методе опок:

public void OnAfterCreated(DTE DTEObject) Описание: C:\Users\Артём\Desktop\media\image310.jpeg

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

// Учтите: здесь следовало бы добавить код на случай непредвиденных // обстоятельств — для создания ключа реестра в случае его отсутствия,

// обработки непредвиденных значений, исключений и т. д.

RegistryKey regKey =

Registry.CurrentUser.OpenSubKey(@"Software\Contoso\Addins\ColorPaletteM); string codeVal = (string)regKey.GetValue("Language", "CSharp");

if (codeVal == "CSharp")

{

this.radioButtonCSharp.Checked = true; this.radioButtonVB.Checked = false;

}

else

{

this.radioButtonCSharp.Checked = true; this.radioButtonVB.Checked = false;

}

}

public void OnOK()

{

string codeValue = "CSharp"; // значение по умолчанию   r

if (this.radioButtonVB.Checked)  '

{

codeValue = "VB";

}

// Обновить реестр новым значением RegistryKey regKey =

Registry.CurrentUser.OpenSubKey(@"Software\Contoso\Addins\ColorPalette"); regKey.SetValue("Language", codeVal);

}

Примечание

Вы сами должны решить, где и как сохранить настройки вашей надстройки. Одно из вполне логичных мест— это реестр. Вы также можете сохранить ваши настройки в XML-файле, который будет размещаться вместе с вашими двоичными файлами.

Регистрация страницы Options
Создание мастера для Visual Studio
Изучение структуры мастера
Интерфейс IDTWizard
Файлы с расширениями vsz и vsdir

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


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

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