Поделиться через


Поддержка для страницы параметров

Щелкните Параметры на Сервис открытие меню Параметры диалоговое окно. Параметры в этом диалоговом окне, в совокупности называются страницы параметров. Элемент управления " дерево " в панели переходов включает категории параметров, и каждая категория имеет страницы параметров. При выборе страницы параметры появляются в области справа. Эти страницы позволяют изменить значения параметров, определяющих состояние VSPackage.

Поддержка страниц Параметры

Package класс обеспечивает поддержку создания страницы параметров и категории параметров. DialogPage класс реализует страницу параметров.

Реализация по умолчанию DialogPage предоставляет свои открытые свойства пользователю в универсальный шаблон сетке свойств. Можно настраивать этой функциональности путем переопределения различные методы на странице для создания пользовательской страницы Параметры, которая имеет свой собственный интерфейс пользователя). Дополнительные сведения см. в разделе Пошаговое руководство: Создание страницы параметров.

DialogPage класс реализует IProfileManager, который обеспечивает сохраняемость для страниц Параметры, а также для параметров пользователя. Реализации по умолчанию LoadSettingsFromStorage и SaveSettingsToStorage методы сохраняет изменения свойств в раздел реестра пользователя, если свойство может быть преобразован в строку и обратно.

Путь в реестре страницы параметров

По умолчанию путь в реестре свойств, управляемых страницей параметров определяется путем объединения UserRegistryRoot, машинное слово DialogPage и имя типа класса страницы параметров. Например, класс страницы параметров может быть задан следующим образом.

Namespace Company.OptionsPage
    Public Class OptionsPageGeneral
        Inherits DialogPage
    End Class 
End Namespace
namespace Company.OptionsPage
{
    public class OptionsPageGeneral : DialogPage
    {
    }
}

Если UserRegistryRoot HKEY_CURRENT_USER \ software \ microsoft \ VisualStudio \ 8.0Exp, то имя свойства " ключ-значение " подразделов HKEY_CURRENT_USER \ software \ microsoft \ VisualStudio \ 8.0Exp \ DialogPage \ Company.OptionsPage.OptionsPageGeneral.

Сам путь реестра Параметры - страницы определяется путем объединения ApplicationRegistryRoot, машинное слово, ToolsOptionsPages и категорию и имя страницы параметров. Например, если пользовательская страница Параметры имеют категорию мои страницы параметров. ApplicationRegistryRoot HKEY_LOCAL_MACHINE \ software \ microsoft \ VisualStudio \ 8.0Exp, тогда страница Параметры имеют раздел реестра HKEY_LOCAL_MACHINE \ software \ microsoft \ VisualStudio \ 8.0Exp \ ToolsOptionsPages \ мои страницы параметров \ пользовательский интерфейс.

Инструменты/атрибутов и макет страницы Параметры

ProvideOptionPageAttribute атрибут задает группирование пользовательских страниц Параметры в категории в дереве навигации Параметры диалоговое окно. ProvideOptionPageAttribute атрибут связывает страницу Параметры с VSPackage, предоставляющий интерфейс. Рассмотрим следующий фрагмент кода:

<ProvideOptionPage(GetType(OptionsPageGeneral), "My Option Pages", "General", 101, 106, True),
 ProvideOptionPage(GetType(OptionsPageCustom), "My Option Pages", "Custom", 101, 107, True),
 Guid("B0002DC2-56EE-4931-93F7-70D6E9863940")>
Public Class MyPackage
    Inherits Package
[ProvideOptionPage(typeof(OptionsPageGeneral),"My Option Pages", "General", 101, 106, true)]
[ProvideOptionPage(typeof(OptionsPageCustom), "My Option Pages", "Custom", 101, 107, true)]
[Guid("B0002DC2-56EE-4931-93F7-70D6E9863940")]
public class MyPackage : Package

Это объявляет, что MyPackage предоставляет 2 страниц Параметры, OptionsPageGeneral и OptionsPageCustom. в Параметры диалоговое окно Параметры появляется в обе страницы Мои страницы параметров категория как Общие и Настраиваемыйсоответственно.

Атрибуты и структура параметра

Интерфейс пользователя, страница предоставляет определяет внешний вид параметров в пользовательской странице параметров. Структура, назначение и описание параметров в универсальный шаблон странице Параметры определяются следующими атрибутами:

Рассмотрим следующий фрагмент кода:

Private _optionInt As Integer

<Category("My Options"),
DisplayName("Integer Option"),
Description("My integer option")>
Public Property OptionInteger() As Integer 
    Get 
        Return _optionInt
    End Get 
    Set(ByVal value As Integer)
        _optionInt = value
    End Set 
End Property
[Category("My Options")]
[DisplayName("Integer Option")]
[Description("My integer option")]
public int OptionInteger { get; set; }

Параметр OptionInteger появляется на странице Параметры как Параметр integer в мои параметры категория. Если этот параметр выбран, то описание Мой параметр integer, отображается в поле " описание ".

Получить доступ к страницам Параметры из другого VSPackage

VSPackage, узлы и управляет страница Параметры можно программно получить доступ из другого VSPackage с помощью модели автоматизации. Например, в следующем коде VSPackage зарегистрирована как размещение страницы параметров.

<ProvideOptionPage(GetType(MyOptionPage), "My Category", "My Grid Page", 0, 0, True)>
<Guid("6bb6942e-014c-489e-a612-a935680f703d")>
Public NotInheritable Class MyToolsOptions
    Inherits Package
[ProvideOptionPage(typeof(MyOptionPage), "My Category", "My Grid Page", 0, 0, true)]
[Guid("6bb6942e-014c-489e-a612-a935680f703d")]
public sealed class MyToolsOptions : Package

Следующий фрагмент кода получает значение OptionInteger из MyOptionPage:

Dim dte As DTE = CType(GetService(GetType(DTE)), DTE)
Dim props As EnvDTE.Properties = dte.get_Properties("My Category", "My Grid Page")
Dim n As Integer = CInt(Fix(props.Item("OptionInteger").Value))
DTE dte = (DTE)GetService(typeof(DTE));
EnvDTE.Properties props = dte.get_Properties("My Category", "My Grid Page");
int n = (int)props.Item("OptionInteger").Value;

После ProvideOptionPageAttribute атрибут регистрирует страницу Параметры страницы AutomationProperties если зарегистрирован с ключом SupportsAutomation аргумент атрибута true. Автоматизация учитывает эту запись реестра для определения того, связанное VSPackage и автоматизация затем обращается к свойству с помощью страницы Параметры размещенной в этом случае my страница " сетка ".

Путь в реестре свойства автоматизации определяется путем объединения ApplicationRegistryRoot, машинное слово, AutomationProperties и категорию и имя страницы параметров. Например, если страница Параметры имеют my категорию категории, my имя страницы, и сетки ApplicationRegistryRoot, HKEY_LOCAL_MACHINE \ software \ microsoft \ VisualStudio \ 8.0Exp, то свойство автоматизации содержат раздел реестра HKEY_LOCAL_MACHINE \ software \ microsoft \ VisualStudio \ 8.0Exp \ AutomationProperties \ my категорию \ my страницу сетки.

Примечание

Каноническое имя - my страница сетки Category.My, значение подраздела имени этого ключа.

См. также

Задачи

Пошаговое руководство: Создание страницы параметров

Основные понятия

Примеры расширения Visual Studio

Поддержите категорий параметров

Другие ресурсы

состояние VSPackage