ProvideProfileAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Applicare questo attributo a oggetti indipendenti usati per implementare il supporto delle impostazioni di Visual Studio di VISUALPackage.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente, due istanze di vengono applicate a un'implementazione di VSPackage per definire le due classi come fornire il supporto delle impostazioni di ProvideProfileAttribute
Visual Studio per il VSPackage implementato dalla classe MyPackage
.
Poiché l'implementazione della pagina denominata "DesignerOptionsPage" è derivata da DialogPage, può supportare le impostazioni di Visual Studio e le pagine Opzioni strumenti e viene registrata in entrambi i casi:
Implementazione di una pagina Opzioni strumenti , registrata tramite l'istanza ProvideOptionPageAttributedi . Per altre informazioni sulle pagine opzioni degli strumenti di supporto, vedere ProvideOptionPageAttribute.
Implementazione che supporta la persistentità dello stato delle pagine Opzioni strumenti , che è indicato dall'argomento finale del
ProvideProfileAttribute
costruttore.
La classe denominata "PersistedDesignerState" viene registrata come fornire solo il supporto delle impostazioni di Visual Studio, il salvataggio e il recupero di informazioni sullo stato rimanenti del PACCHETTO VSPackage denominato "MyPackage" implementando 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
}
Commenti
Note per i chiamanti
Applicare l'attributo ProvideProfileAttribute
alle classi che implementano un VSPackage quando è presente una classe che implementa le funzionalità delle impostazioni di Visual Studio per VSPackage, consentendogli di salvare e recuperare le informazioni sullo stato di VSPackage.
Nota
Le classi che IProfileManagerimplementano , devono anche implementare IComponent, che possono essere eseguite derivando la classe da Component.
Contesto attributo
Si applica a | VSPackage che usano il meccanismo delle impostazioni di Visual Studio tramite classi che implementano le IProfileManager interfacce o DialogPage . |
Ripetibile | Sì |
Attributi richiesti | DefaultRegistryRootAttribute, Nota Se la classe che implementa le impostazioni di Visual Studio fornisce anche una pagina Opzioni strumenti , ProvideOptionPageAttribute è necessaria anche. |
Attributi non validi | Nessuno |
Note per gli implementatori
Questo attributo viene usato solo per scopi di registrazione e non influisce sul comportamento del runtime.
ProvideProfileAttribute
registra una classe che implementa IProfileManager o DialogPage fornisce supporto per rendere persistente la parte o lo stato di VSPackage tramite il meccanismo delle impostazioni di Visual Studio. Le informazioni sullo stato mantenute dalla classe di implementazione vengono definite categoria di impostazioni di Visual Studio e la relativa voce di definizione nel Registro di sistema viene definita punto impostazioni personalizzate.
Quando un utente seleziona il comando Importa/Esporta impostazioni nel menu Strumenti per salvare le impostazioni di Visual Studio, le classi registrate dall'IDE ProvideProfileAttribute
vengono create dall'IDE e usate per salvare le impostazioni.
A causa di questo:
Il supporto delle impostazioni di Visual Studio deve essere implementato nel proprio oggetto e non in VSPackage stesso.
Una classe che implementa le impostazioni di Visual Studio può supportare una sola categoria di impostazioni di Visual Studio, come definito nel punto impostazioni personalizzate.
Tuttavia, un singolo VSPackage può supportare diverse categorie di impostazioni di Visual Studio, come definito più punti impostazioni personalizzati, purché:
Ogni categoria di impostazioni di Visual Studio viene implementata in una classe separata.
Ogni classe che implementa le impostazioni di Visual Studio viene registrata come supporto di VSPackage tramite la propria istanza di
ProvideProfileAttribute
.Nota
Ciò è diverso dalle implementazioni basate su COM in cui una classe che implementa le impostazioni di Visual Studio può supportare più punti impostazioni personalizzate.
Istanza di ProvideProfileAttribute
:
Identifica in modo univoco la categoria delle impostazioni di Visual Studio del punto impostazioni personalizzate con il GUID ottenuto dalla Type classe che implementa le impostazioni di Visual Studio.
Imposta il nome della categoria delle impostazioni di Visual Studio, sia il nome canonico, non localizzato usato nelle voci del Registro di sistema e le relative risorse nome localizzate.
Indica se le impostazioni di
ProvideProfileAttribute
Visual Studio che supportano l'implementazione della classe supportano una pagina Opzioni strumenti (per altre informazioni sulla pagina Opzioni strumenti di supporto, vedere Pagine opzioni).
Per altre informazioni sulla creazione e l'applicazione di istanze di ProvideProfileAttribute
, vedere l'esempio seguente e ProvideProfileAttribute.
Costruttori
ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean) |
Inizializza una nuova istanza di ProvideProfileAttribute. |
Proprietà
AlternateParent |
Ottiene o imposta il nome di una categoria diversa nel profilo. |
CategoryName |
Ottiene il nome non localizzato canonico della categoria delle impostazioni di Visual Studio. |
CategoryResourceID |
Ottiene l'ID risorsa nome per una categoria di impostazioni di Visual Studio. |
DescriptionResourceID |
Ottiene l'ID di risorsa localizzato della descrizione di questa pagina del profilo. |
GroupName |
Ottiene il nome non localizzato del gruppo. |
GroupResourceID |
Ottiene o imposta l'ID di risorsa localizzato del gruppo a cui appartiene questa pagina. |
IsToolsOptionPage |
Ottiene se si tratta anche di una pagina Opzioni strumenti. |
MigrationType |
Imposta l'azione di migrazione da eseguire per questa categoria. |
ObjectName |
Ottiene il nome canonico non localizzato di questa pagina nel profilo. |
ObjectNameResourceID |
Ottiene l'ID di risorsa localizzato del nome di questa pagina nel profilo. |
ObjectType |
Ottiene il tipo della pagina. |
ResourcePackageGuid |
Ottiene o imposta il GUID di un pacchetto che fornisce le stringhe di risorse. |
TypeId |
Eseguire l'override della proprietà TypeID per consentire alle classi derivate di RegistrationAttribute di funzionare con System.ComponentModel.TypeDescriptor.GetAttributes(...). Un attributo derivato da questo elemento dovrà eseguire l'override di questa proprietà solo se necessita di un controllo migliore sulle istanze che possono essere applicate a una classe. (Ereditato da RegistrationAttribute) |
Metodi
GetPackageRegKeyPath(Guid) |
Ottiene il percorso del Registro di sistema (relativo alla radice del Registro di sistema dell'applicazione) del pacchetto VS. (Ereditato da RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Registra questo attributo. |
Unregister(RegistrationAttribute+RegistrationContext) |
Rimuove la chiave dal Registro di sistema. |