ProvideProfileAttribute Třída

Definice

Použijte tento atribut na nezávislé objekty, které se používají k implementaci podpory nastavení sady 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
Dědičnost
ProvideProfileAttribute
Atributy

Příklady

V následujícím příkladu jsou na implementaci ProvideProfileAttribute VSPackage použity dvě instance nástroje , které definují dvě třídy tak, aby poskytovaly podporu nastavení sady Visual Studio pro VSPackage implementované třídou MyPackage.

  1. Vzhledem k tomu, že implementace stránky s názvem "DesignerOptionsPage" je odvozena z DialogPage, může podporovat nastavení sady Visual Studio a stránky možností nástroje a jsou registrovány jako poskytující obojí:

    • Implementace stránky Možnosti nástrojů , která je registrována prostřednictvím instance ProvideOptionPageAttribute. Další informace o podpoře stránek s možnostmi nástrojů najdete v tématu ProvideOptionPageAttribute.

    • Implementace, která podporuje zachování stavu stránek možností nástroje , který je označen posledním argumentem konstruktoru ProvideProfileAttribute .

  2. Třída s názvem PersistedDesignerState je registrována jako poskytující podporu pouze nastavení sady Visual Studio a ukládá a načítá zbývající informace o stavu balíčku VSPackage s názvem MyPackage implementací 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  
}  

Poznámky

Poznámky pro volající

ProvideProfileAttribute Použijte atribut na třídy implementují VSPackage, pokud existuje třída, která implementuje funkci nastavení sady Visual Studio pro VSPackage, což umožňuje uložit a načíst informace o stavu VSPackage.

Poznámka

Třídy implementující IProfileManagermusí také implementovat IComponent, což lze provést odvozením třídy z Component.

Kontext atributu

Platí pro Balíčky VSPackage využívající mechanismus nastavení sady Visual Studio prostřednictvím tříd, které implementují IProfileManager rozhraní nebo DialogPage .
Opakovatelnost Yes
Požadované atributy DefaultRegistryRootAttribute, Poznámka: Pokud třída implementuje nastavení sady Visual Studio také poskytuje stránku Možnosti nástrojů, ProvideOptionPageAttribute je také vyžadována.
Neplatné atributy Žádné

Poznámky pro implementátory

Tento atribut se používá pouze pro účely registrace a nemá vliv na chování za běhu.

ProvideProfileAttribute zaregistruje třídu implementující IProfileManager nebo DialogPage jako poskytující podporu pro zachování části nebo celého stavu VSPackage prostřednictvím mechanismu nastavení sady Visual Studio. Informace o stavu, které implementuje třída, se označuje jako kategorie nastavení sady Visual Studio a její definující položka v registru se označuje jako vlastní bod nastavení.

Když uživatel vybere v nabídce Nástroje příkaz Nastavení importu/exportu a uloží nastavení sady Visual Studio, vytvoří se instance tříd zaregistrovaných v ProvideProfileAttribute integrovaném vývojovém prostředí (IDE) a použijí se k uložení nastavení.

Z tohoto důvodu:

  • Podpora nastavení sady Visual Studio by měla být implementována u vlastního objektu, nikoli v samotném balíčku VSPackage.

  • Třída, která implementuje nastavení sady Visual Studio, může podporovat pouze jednu kategorii nastavení sady Visual Studio, jak je definována v bodu vlastního nastavení.

Jeden balíček VSPackage však může podporovat několik kategorií nastavení sady Visual Studio definovaných několika body vlastního nastavení za předpokladu, že:

  • Každá kategorie nastavení sady Visual Studio je implementována v samostatné třídě.

  • Každá třída, která implementuje nastavení sady Visual Studio, je zaregistrovaná jako podpora balíčku VSPackage vlastní instancí nástroje ProvideProfileAttribute.

    Poznámka

    To se liší od implementací založených na modelu COM, kde třída implementující nastavení sady Visual Studio může podporovat více bodů vlastního nastavení.

Instance :ProvideProfileAttribute

  • Jedinečně identifikuje kategorii nastavení vlastního bodu nastavení sady Visual Studio pomocí identifikátoru GUID získaného z Type třídy implementované nastavení sady Visual Studio.

  • Nastaví název kategorie nastavení sady Visual Studio, a to jak její kanonický, nelokalizovaný název použitý v položkách registru, tak i lokalizované prostředky názvu.

  • Označuje, jestli nastavení sady Visual Studio podporující implementaci ProvideProfileAttribute třídy podporuje stránku Možnosti nástrojů (další informace o stránce Možnosti podpory nástrojů najdete v tématu Stránky možností).

Další informace o vytváření a použití instancí ProvideProfileAttributenástroje najdete v následujícím příkladu a ProvideProfileAttribute.

Konstruktory

ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean)

Inicializuje novou instanci ProvideProfileAttribute.

Vlastnosti

AlternateParent

Získá nebo nastaví název jiné kategorie v profilu.

CategoryName

Získá kanonický nelokalizovaný název kategorie nastavení sady Visual Studio.

CategoryResourceID

Získá ID prostředku názvu pro kategorii nastavení sady Visual Studio.

DescriptionResourceID

Získá lokalizované ID prostředku popisu této stránky profilu.

GroupName

Získá nelokalizovaný název této skupiny.

GroupResourceID

Získá nebo nastaví ID lokalizovaného prostředku skupiny, do které patří tato stránka.

IsToolsOptionPage

Získá, zda se jedná také o stránku Možnosti nástrojů.

MigrationType

Nastaví akci migrace, která se má provést pro tuto kategorii.

ObjectName

Získá kanonický nelokalizovaný název této stránky v profilu.

ObjectNameResourceID

Získá lokalizované ID prostředku názvu této stránky v profilu.

ObjectType

Získá typ stránky.

ResourcePackageGuid

Získá nebo nastaví identifikátor GUID balíčku poskytující řetězce prostředků.

TypeId

Přepište vlastnost TypeID, aby mohly odvozené třídy RegistrationAttribute pracovat s System.ComponentModel.TypeDescriptor.GetAttributes(...). Atribut odvozený z tohoto bude muset přepsat tuto vlastnost pouze v případě, že potřebuje lepší kontrolu nad instancemi, které lze použít na třídu.

(Zděděno od RegistrationAttribute)

Metody

GetPackageRegKeyPath(Guid)

Získá cestu registru (vzhledem k kořenovému adresáři registru aplikace) VSPackage.

(Zděděno od RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Zaregistruje tento atribut.

Unregister(RegistrationAttribute+RegistrationContext)

Odebere klíč z registru.

Platí pro