ProvideProfileAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Примените этот атрибут к независимым объектам, используемым для реализации поддержки параметров Visual Studio в VSPackage.
public ref class ProvideProfileAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideProfileAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideProfileAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideProfileAttribute = class
inherit RegistrationAttribute
Public NotInheritable Class ProvideProfileAttribute
Inherits RegistrationAttribute
- Наследование
- Атрибуты
Примеры
В приведенном ниже примере два экземпляра ProvideProfileAttribute
применяются к реализации VSPackage, чтобы определить два класса как предоставляющие поддержку параметров Visual Studio для VSPackage, реализованного классом MyPackage
.
Так как реализация страницы с именем "DesignerOptionsPage" является производным от DialogPage, она может поддерживать параметры Visual Studio и страницы параметров инструментов и регистрируется как предоставляющая оба:
Реализация страницы параметров инструментов , которая регистрируется с помощью экземпляра ProvideOptionPageAttribute. Дополнительные сведения о поддержке страниц параметров инструментов см. в разделе ProvideOptionPageAttribute.
Реализация, поддерживающая сохранение состояния страниц "Параметры инструментов" , которое указывается последним аргументом конструктора
ProvideProfileAttribute
.
Класс с именем PersistedDesignerState зарегистрирован как предоставляющий только поддержку параметров Visual Studio, сохранение и получение оставшихся сведений о состоянии пакета VSPackage с именем MyPackage путем реализации IProfileManager.
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
Комментарии
Примечания для вызывающих абонентов
ProvideProfileAttribute
Примените атрибут к классам, реализующим VSPackage, если существует класс, который реализует функциональные возможности параметров Visual Studio для VSPackage, позволяя ему сохранять и извлекать сведения о состоянии VSPackage.
Примечание
Классы, реализующие IProfileManager, также должны реализовывать IComponent, что можно сделать, наследуя класс от Component.
Контекст атрибута
Применяется к | Пакеты VSPackage, использующие механизм параметров Visual Studio через классы, реализующие IProfileManager интерфейсы или DialogPage . |
Повторяемый | Да |
Требуемые атрибуты | DefaultRegistryRootAttribute, примечание . Если класс, реализующий параметры Visual Studio, также предоставляет страницу Параметры инструментов , ProvideOptionPageAttribute также является обязательным. |
Недопустимые атрибуты | None |
Примечания для разработчиков
Этот атрибут используется только для регистрации и не влияет на поведение среды выполнения.
ProvideProfileAttribute
регистрирует класс, реализующий IProfileManager или DialogPage обеспечивающий поддержку сохранения части или всего состояния VSPackage с помощью механизма параметров Visual Studio. Сведения о состоянии, сохраненные реализующим классом, называются категорией параметров Visual Studio, а ее определяющая запись в реестре называется пользовательской точкой параметров.
Когда пользователь выбирает команду Импорт и экспорт параметров в меню Сервис , чтобы сохранить параметры Visual Studio, классы, зарегистрированные ProvideProfileAttribute
в , создаются интегрированной среде разработки и используются для сохранения параметров.
Из-за этого:
Поддержка параметров Visual Studio должна быть реализована в отдельном объекте, а не в самом пакете VSPackage.
Класс, реализующий параметры Visual Studio, может поддерживать только одну категорию параметров Visual Studio, как определено в разделе Точка пользовательских параметров.
Однако один пакет VSPackage может поддерживать несколько категорий параметров Visual Studio, как определено несколько настраиваемых точек параметров, если:
Каждая категория параметров Visual Studio реализуется в отдельном классе.
Каждый класс, реализующий параметры Visual Studio, регистрируется как поддерживающий VSPackage собственным экземпляром
ProvideProfileAttribute
.Примечание
Это отличается от реализаций на основе COM, где класс, реализующий параметры Visual Studio, может поддерживать несколько точек пользовательских параметров.
Экземпляр :ProvideProfileAttribute
Уникально идентифицирует категорию параметров Visual Studio настраиваемой точки параметров с помощью GUID, полученного из Type класса , реализующего параметры Visual Studio.
Задает имя категории параметров Visual Studio, как каноническое, нелокализованное имя, используемое в записях реестра, так и локализованные ресурсы имен.
Указывает, поддерживает ли параметры Visual Studio, поддерживающие реализацию
ProvideProfileAttribute
класса , страницу "Параметры инструментов" (дополнительные сведения о поддержке страницы "Параметры инструментов " см. в разделе Страницы параметров).
Дополнительные сведения о создании и применении экземпляров ProvideProfileAttribute
см. в примере ниже и ProvideProfileAttribute.
Конструкторы
ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean) |
Инициализирует новый экземпляр ProvideProfileAttribute. |
Свойства
AlternateParent |
Получает или задает имя другой категории в профиле. |
CategoryName |
Возвращает каноническое нелокализованное имя категории параметров Visual Studio. |
CategoryResourceID |
Возвращает идентификатор ресурса имени для категории параметров Visual Studio. |
DescriptionResourceID |
Получает локализованный идентификатор ресурса описания этой страницы профиля. |
GroupName |
Получает нелокализованное имя данной группы. |
GroupResourceID |
Получает или задает локализованный идентификатор ресурса группы, которой принадлежит страница. |
IsToolsOptionPage |
Возвращает значение, указывая, является ли это также страницей параметров инструментов. |
MigrationType |
Задает действие миграции, выполняемое для данной категории. |
ObjectName |
Получает каноническое нелокализованное имя данной страницы в профиле. |
ObjectNameResourceID |
Получает локализованный идентификатор ресурса имени этой страницы профиля. |
ObjectType |
Получает тип страницы. |
ResourcePackageGuid |
Получает или задает идентификатор GUID пакета, предоставляющего строки ресурсов. |
TypeId |
Переопределите свойство TypeID, чтобы разрешить производным классам RegistrationAttribute работать с System.ComponentModel.TypeDescriptor.GetAttributes(...). Атрибут, производный от этого, должен переопределять это свойство только в том случае, если ему требуется более эффективное управление экземплярами, которые можно применить к классу. (Унаследовано от RegistrationAttribute) |
Методы
GetPackageRegKeyPath(Guid) |
Получает путь в реестре (относительно корня реестра приложения) VSPackage. (Унаследовано от RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Регистрирует этот атрибут. |
Unregister(RegistrationAttribute+RegistrationContext) |
Удаляет раздел из реестра. |