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
Metodo pubblico ProvideProfileAttribute inizializza una nuova istanza di ProvideProfileAttribute.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica AlternateParent Ottiene o imposta il nome di una categoria diversa nel profilo.
Proprietà pubblica CategoryName Ottiene il nome non localizzata canonico la categoria di impostazioni di Visual Studio .
Proprietà pubblica CategoryResourceID Ottiene l'ID della risorsa del nome per una categoria di impostazioni di Visual Studio .
Proprietà pubblica DescriptionResourceID Ottiene l'ID della risorsa localizzato di descrizione della pagina del profilo.
Proprietà pubblica GroupName Ottiene il nome non localizzata di questo gruppo.
Proprietà pubblica GroupResourceID Ottiene o imposta ID di risorsa localizzato del gruppo a cui questa pagina cui appartiene.
Proprietà pubblica IsToolsOptionPage Determina se questa è una pagina di Opzioni degli strumenti .
Proprietà pubblica MigrationType Impostare l'azione di migrazione da intraprendere per questa categoria.
Proprietà pubblica ObjectName Ottiene il nome non localizzata canonico di questa pagina nel profilo.
Proprietà pubblica ObjectNameResourceID Ottiene l'ID della risorsa localizzato del nome di questa pagina nel profilo.
Proprietà pubblica ObjectType Ottiene il tipo di pagina.
Proprietà pubblica ResourcePackageGuid Ottiene o imposta il GUID di un pacchetto che fornisce stringhe di risorsa.
Proprietà pubblica TypeId Ottiene l'istanza corrente dell'attributo. (Ereditato da RegistrationAttribute)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da Attribute)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico 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)
Metodo pubblico 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)
Metodo pubblico Register registra questo attributo. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Unregister Rimuove la chiave del Registro di sistema. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetIDsOfNames Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _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)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto garantisce (0 o 1). (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _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

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.

  1. 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 .

  2. 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

pagine di opzioni

Impostazioni utente e opzioni

Creando pagine di opzioni utilizzando le classi gestite del Framework del pacchetto

Per registrare pagine personalizzate di opzioni

Rendere persistenti le impostazioni