Classe ProvideLanguageEditorOptionPageAttribute

Fornire un metodo generico per impostare la pagina di opzione dello strumento dell'editor di un servizio di linguaggio.

Gerarchia di ereditarietà

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
        Microsoft.VisualStudio.Shell.ProvideLanguageEditorOptionPageAttribute

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 ProvideLanguageEditorOptionPageAttribute _
    Inherits ProvideOptionDialogPageAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageEditorOptionPageAttribute : ProvideOptionDialogPageAttribute

Il tipo ProvideLanguageEditorOptionPageAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String) inizializza una nuova istanza di ProvideLanguageEditorOptionPageAttribute per la pagina specificata.
Metodo pubblico ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, Int32)
Metodo pubblico ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String)
Metodo pubblico ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, array<String[])

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Keywords
Proprietà pubblica LanguageName Ottiene il nome del linguaggio.
Proprietà pubblica PageGuid Ottiene il GUID della pagina di opzione.
Proprietà pubblica PageNameResourceId Ottiene l'ID della risorsa del nome della pagina. (Ereditato da ProvideOptionDialogPageAttribute)
Proprietà pubblica PageType Ottiene il tipo di pagina. (Ereditato da ProvideOptionDialogPageAttribute)
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 Crea tutte le chiavi del Registro di sistema e voci come specificato dal costruttore della classe. (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 tutte chiavi del Registro di sistema e voci. (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

Queste informazioni vengono archiviate nella chiave del Registro di sistema <RegistrationRoot> \Languages\Language Services\[language]\EditorToolsOptions, dove linguaggio [] è il nome del linguaggio.

In EditorToolsOptions è una struttura ad albero delle pagine e le sottomarino-pagine che possono avere un numero qualsiasi di livelli.Queste pagine corrispondono alle pagine di opzioni di visualizzate le opzioni di Visual Studio Tools per gli editor (dove una struttura ad albero di pagine di opzione viene visualizzato sotto il nome della lingua, in ogni pagina contenente le opzioni appropriate).

Ciascuno in questo elenco della pagina di opzione contiene un ID di risorse o una stringa letterale che contiene il nome localizzato della pagina.Si tratta di cìò che viene visualizzato in dialogo opzioni degli strumenti.Inoltre, contiene anche un pacchetto GUID e facoltativamente un GUID di una pagina di opzione.

Se non c " è pagina GUID di opzione, la chiave è considerata come un nodo nella struttura ad albero di opzioni e non ha pagina associata.In caso contrario, la chiave è un nodo foglia nella struttura ad albero e la relativa pagina di opzione verrà visualizzata.

Possono essere presenti più istanze di questo attributo e ciascuna istanza specifica un nodo o una pagina delle proprietà.Gli attributi possono trovarsi in qualsiasi ordine.Se la pagina delle proprietà GUID quindi viene specificata una pagina delle proprietà registrata, in caso contrario è un nodo che viene registrato.

I seguenti attributi definiti dall'utente vengono utilizzati per i servizi di linguaggio:

attributo

descrizione

ProvideLanguageServiceAttribute

Registra il servizio di linguaggio con Visual Studio e specifica le funzionalità supportate.

ProvideLanguageExtensionAttribute

Associare un'estensione di file al servizio di linguaggio.

ProvideLanguageEditorOptionPageAttribute

Specifica un nodo o una pagina delle proprietà per la finestra di dialogo Opzioni specifiche del servizio di linguaggio.

ProvideLanguageCodeExpansionAttribute

Specifica le informazioni sul percorso per supportare i frammenti di codice nel servizio di linguaggio.

ProvideServiceAttribute

Registra un servizio di linguaggio come Visual Studio servizio.Tutti i servizi forniti nel codice gestito utilizzano questo attributo.

Note per gli implementatori

Questa classe Attribute non può essere ereditata da così esiste alcuna implementazione.

Note per i chiamanti

Questa classe Attribute in genere viene applicato alla classe primaria di package VS, sebbene possa essere visualizzati in qualsiasi classe.Questa classe Attribute può verificarsi più volte e in qualsiasi ordine, una volta per ogni pagina delle proprietà e nodo nella struttura ad albero della pagina delle proprietà.

Esempi

In questo esempio viene illustrato come questo attributo definito dall'utente viene utilizzato per registrare due pagine delle proprietà (“generale„ e “rientro„) e un nodo della pagina delle proprietà (“formattazione„) contenente la pagina delle proprietà “per il rientro„.Nota come secondo parametro al costruttore specifica la posizione nel Registro di sistema in relazione al nodo.

[!NOTA]

Visual C# consente di utilizzare una forma abbreviata di un attributo definito dall'utente rilasciando la parte “attributo„ del nome.Questa forma abbreviata è utilizzato in questo e tutti gli altri esempi di questo comportamento.

using Microsoft.VisualStudio.Shell;

namespace MyLanguagePackage
{
    internal class MyConstants
    {
        public const string languageName                = "MyLanguage";
        public const string formattingNodeResIDAsString = "#108";
        public const string generalPageResIDAsString    = "#109";
        public const string indentPageResIDAsString     = "#110";
    }

    [ProvideLanguageEditorOptionPage(MyConstants.languageName,
                                     "General",  // property page
                                     MyConstants.generalPageResIDAsString,
        // Optional language service properties
        OptionPageGuid = "{12434534-cecd-48e7-a866-45cad2e8b169}"
                                    )]
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,
                                     "Formatting",  // property node
                                     MyConstants.formattingNodeResIDAsString
                                    )]
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,
                                     @"Formatting\Indent",  // property page
                                     MyConstants.indentPageResIDAsString,
        // Optional language service properties
        OptionPageGuid = "{12434556-cecd-48e7-a866-45cad2e8b169}"
                                    )]

    class MyLanguagePackage
    {
    }
}

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