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


Поддержка параметров пользователя

VSPackage может определить одну или несколько категорий параметров, которые являются группами переменных состояния, которые сохраняются, когда пользователь выбирает команду импорт и экспорт Параметры в меню "Сервис". Чтобы включить эту сохраняемость, используйте API параметров в пакете SDK Для Visual Studio.

Запись реестра, называемая пользовательской точкой Параметры и GUID, определяет категорию параметров VSPackage. VSPackage может поддерживать несколько категорий параметров, каждый из которых определяется пользовательским Параметры point.

  • Реализации параметров, основанных на сборках взаимодействия (с помощью IVsUserSettings интерфейса), должны создавать настраиваемые Параметры point путем редактирования реестра или использования скрипта регистратора (rgs-файла). Для получения дополнительной информации см. Creating Registrar Scripts.

  • Код, использующий управляемую платформу пакетов (MPF), должен создавать пользовательские точки Параметры путем присоединения ProvideProfileAttribute к VSPackage для каждой пользовательской точки Параметры.

    Если один VSPackage поддерживает несколько пользовательских точек Параметры, каждая пользовательская Параметры Point реализуется отдельным классом, и каждый из них регистрируется уникальным экземпляром ProvideProfileAttribute класса. Следовательно, параметры, реализующие класс, могут поддерживать несколько категорий параметров.

Сведения о записи пользовательского реестра точек Параметры

Пользовательские точки Параметры создаются в записи реестра в следующем расположении: HKLM\Software\Microsoft\VisualStudio<\Version>\User Параметры\,<CSPName> где <CSPName> имя настраиваемой Параметры Точка VSPackage поддерживает и <версия> Visual Studio, например 8.0.

Примечание.

Корневой путь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> можно переопределить с альтернативным корнем при инициализации интегрированной среды разработки Visual Studio. Дополнительные сведения см. в разделе "Коммутаторы командной строки".

Структура записи реестра показана ниже:

HKLM\Software\Microsoft\VisualStudio\<Version>\User Параметры\

<CSPName>= '#12345'

Package = "{XXXXXX XXXXXXX}"

Категория = "{гг"

ResourcePackage = '{ZZZZZZ ZZZZ ZZZZZZZZZ}'

AlternateParent = CategoryName

Имя. Тип Data Description
(по умолчанию) REG_SZ Имя пользовательской точки Параметры Имя <CSPName>ключа — это нелокализованное имя настраиваемой точки Параметры.

Для реализаций на основе MPF имя ключа получается путем categoryName объединения аргументов objectName конструктора ProvideProfileAttribute в categoryName_objectName.

Ключ может быть пустым или содержать идентификатор ссылки на локализованную строку в вспомогательной библиотеке DLL. Это значение получается из objectNameResourceID аргумента конструктора ProvideProfileAttribute .
Пакет REG_SZ GUID GUID ПАКЕТА VSPackage, реализующего пользовательскую точку Параметры.

Реализации на основе MPF с помощью ProvideProfileAttribute класса используйте аргумент конструктора objectType , содержащий и отражение VSPackage Type , чтобы получить это значение.
Категория REG_SZ GUID GUID, определяющий категорию параметров.

Для реализаций на основе сборок взаимодействия это значение может быть произвольным выбранным ИДЕНТИФИКАТОРом GUID, который интегрированная среда разработки Visual Studio передает в ExportSettings методы и ImportSettings методы. Все реализации этих двух методов должны проверять свои аргументы GUID.

Для реализаций на основе MPF этот GUID получается Type классом, реализующим механизм параметров Visual Studio.
ResourcePackage REG_SZ GUID Необязательно.

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

MPF использует отражение для получения правильного ресурса VSPackage, поэтому ProvideProfileAttribute класс не задает этот аргумент.
АльтернативныйParent REG_SZ Имя папки на странице "Параметры инструментов", содержащей эту настраиваемую точку Параметры. Необязательно.

Это значение необходимо задать только в том случае, если реализация параметров поддерживает страницы параметров инструментов, использующие механизм сохраняемости в пакете SDK Visual Studio, а не механизм в модели автоматизации для сохранения состояния.

В таких случаях значение в ключе AlternateParent — это topic раздел topic.sub-topic строки, используемой для идентификации конкретной страницы ToolsOptions . Например, для страницы "TextEditor.Basic" ToolsOptions будет значение "TextEditor"AlternateParent.

При ProvideProfileAttribute создании пользовательской точки Параметры она совпадает с именем категории.