ProvideProfileAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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
.
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
.
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í ProvideProfileAttribute
ná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. |