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 | |
---|---|---|
ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String) | inizializza una nuova istanza di ProvideLanguageEditorOptionPageAttribute per la pagina specificata. | |
ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, Int32) | ||
ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String) | ||
ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, array<String[]) |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Keywords | ||
LanguageName | Ottiene il nome del linguaggio. | |
PageGuid | Ottiene il GUID della pagina di opzione. | |
PageNameResourceId | Ottiene l'ID della risorsa del nome della pagina. (Ereditato da ProvideOptionDialogPageAttribute) | |
PageType | Ottiene il tipo di pagina. (Ereditato da ProvideOptionDialogPageAttribute) | |
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 | Crea tutte le chiavi del Registro di sistema e voci come specificato dal costruttore della classe. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
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 | |
---|---|---|
_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
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 |
---|---|
Registra il servizio di linguaggio con Visual Studio e specifica le funzionalità supportate. |
|
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. |
Specifica le informazioni sul percorso per supportare i frammenti di codice nel servizio di linguaggio. |
|
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.