Classe ProvideProfileAttribute
Applicare questo attributo agli oggetti indipendenti utilizzati per implementare il supporto delle impostazioni di Visual Studio di un VSPackage.
Gerarchia di ereditarietà
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideProfileAttribute
Spazio dei nomi: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)
Sintassi
'Dichiarazione
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideProfileAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideProfileAttribute : RegistrationAttribute
Il tipo ProvideProfileAttribute espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
ProvideProfileAttribute | inizializza una nuova istanza di ProvideProfileAttribute. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
AlternateParent | Ottiene o imposta il nome di una categoria diversa nel profilo. | |
CategoryName | Ottiene il nome non localizzata canonico la categoria di impostazioni di Visual Studio . | |
CategoryResourceID | Ottiene l'ID della risorsa del nome per una categoria di impostazioni di Visual Studio . | |
DescriptionResourceID | Ottiene l'ID della risorsa localizzato di descrizione della pagina del profilo. | |
GroupName | Ottiene il nome non localizzata di questo gruppo. | |
GroupResourceID | Ottiene o imposta ID di risorsa localizzato del gruppo a cui questa pagina cui appartiene. | |
IsToolsOptionPage | Determina se questa è una pagina di Opzioni degli strumenti . | |
MigrationType | Impostare l'azione di migrazione da intraprendere per questa categoria. | |
ObjectName | Ottiene il nome non localizzata canonico di questa pagina nel profilo. | |
ObjectNameResourceID | Ottiene l'ID della risorsa localizzato del nome di questa pagina nel profilo. | |
ObjectType | Ottiene il tipo di pagina. | |
ResourcePackageGuid | Ottiene o imposta il GUID di un pacchetto che fornisce stringhe di risorsa. | |
TypeId | Ottiene l'istanza corrente dell'attributo. (Ereditato da RegistrationAttribute) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute) | |
GetHashCode | Restituisce il codice hash per l'istanza. (Ereditato da Attribute) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
IsDefaultAttribute | Una volta sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) | |
Match | Una volta sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) | |
Register | registra questo attributo. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
Unregister | Rimuove la chiave del Registro di sistema. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)). |
In alto
Implementazioni esplicite dell'interfaccia
Nome | Descrizione | |
---|---|---|
_Attribute.GetIDsOfNames | Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) | |
_Attribute.GetTypeInfo | Recupera le informazioni sui tipi per un oggetto, che può essere utilizzato per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) | |
_Attribute.GetTypeInfoCount | Recupera il numero di interfacce di informazioni sui tipi che un oggetto garantisce (0 o 1). (Ereditato da Attribute) | |
_Attribute.Invoke | Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |
In alto
Note
Note per i chiamanti
Applicare l'attributo di ProvideProfileAttribute alle classi che implementano un VSPackage quando esiste una classe che implementa la funzionalità delle impostazioni di Visual Studio per il package VS, consentendo a salvare e recuperare le informazioni sullo stato di un VSPackage.
[!NOTA]
Implementazione delle classi IProfileManager, la deve anche implementato IComponent, che può essere eseguita derivando una classe Component.
contesto di attributo
si applica a |
Vspackage utilizzando il meccanismo delle impostazioni di Visual Studio tramite le classi che implementano le interfacce di DialogPage o di IProfileManager . |
ripetibile |
sì |
attributi obbligatori |
DefaultRegistryRootAttribute, Nota se la classe che implementa le impostazioni di Visual Studio fornisce inoltre una pagina di Opzioni degli strumenti , ProvideOptionPageAttribute è obbligatorio. |
attributi non validi |
nessuno |
Note per gli implementatori
Questo attributo viene utilizzato solo per scopi di registrazione e non influisce sul comportamento di runtime.
classe di log diProvideProfileAttribute che implementa IProfileManager o DialogPage come fornendo supporto per mantenere parte o lo stato di un VSPackage tramite il meccanismo delle impostazioni di Visual Studio .Le informazioni sullo stato salvato in modo permanente dalla classe di implementazione sono definiti categoria di impostazioni di Visual Studio e la relativa voce di definizione nel Registro di sistema vengono definiti un punto di impostazioni personalizzato.
Quando un utente seleziona il comando di Impostazioni esportazione/importazione scegliere dal menu di strumenti salvare le impostazioni di Visual Studio , le classi registrate da ProvideProfileAttribute viene creata un'istanza dall'IDE e vengono utilizzate per salvare le impostazioni.
Per questo motivo:
il supporto delle impostazioni diVisual Studio deve essere implementato nel relativo oggetto e non nel package VS stesso.
Una classe che implementa le impostazioni di Visual Studio può supportare solo una categoria di impostazioni di Visual Studio definita nel passaggio di impostazioni personalizzato.
Tuttavia, un singolo pacchetto VS possibile supportare diverse categorie di impostazioni di Visual Studio come punti di impostazioni personalizzati più definiti se:
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 del package VS dalla propria istanza di ProvideProfileAttribute.
[!NOTA]
Questo comportamento è diverso rispetto alle implementazioni basate su COM in cui la classe che implementa le impostazioni di Visual Studio possibile supportare i punti di impostazioni personalizzati più.
un'istanza di ProvideProfileAttribute:
Identifica in modo univoco una categoria di impostazioni di Visual Studio del punto di impostazioni personalizzate con il GUID ottenuto da Type della classe che implementa le impostazioni diVisual Studio .
Imposta il nome di Visual Studio di una categoria di impostazioni, sia il nome canonico e non localizzata utilizzato nelle voci del Registro di sistema che le risorse localizzate del nome.
Indica se le impostazioni di Visual Studio che supportano l'implementazione della classe di ProvideProfileAttribute supporta una pagina di Opzioni degli strumenti (per ulteriori informazioni sul supporto della pagina di Opzioni degli strumenti , vedere pagine di opzioni).
For more information on creating and applying instances of ProvideProfileAttribute, see the example below and ProvideProfileAttribute.
Esempi
Nell'esempio riportato di seguito, due istanze di ProvideProfileAttribute si applicano a un'implementazione di package VS per definire le due classi come fornire supporto delle impostazioni di Visual Studio per il package VS implementato dalla classe MyPackage.
Poiché l'implementazione della pagina denominata “DesignerOptionsPage„ è derivata da DialogPage, può supportare le impostazioni di Visual Studio e le pagine di Opzioni degli strumenti e si registra come invio di entrambe:
L'implementazione di una pagina di Opzioni degli strumenti , registrata tramite l'istanza ProvideOptionPageAttribute.Per ulteriori informazioni sul supporto delle pagine di Opzioni degli strumenti , vedere ProvideOptionPageAttribute.
Un'implementazione di che supporta mantenere lo stato di Opzioni degli strumenti paging, che è indicato dall'argomento finale al costruttore di ProvideProfileAttribute .
La classe denominata “PersistedDesignerState„ viene registrata come fornendo il supporto delle impostazioni di Visual Studio , salvare e recuperare le informazioni sullo stato rimanenti del package VS denominato “MyPackage„ distribuzione 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
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.Shell
Altre risorse
Creando pagine di opzioni utilizzando le classi gestite del Framework del pacchetto