Partager via


ProvideLanguageEditorOptionPageAttribute, classe

Fournissez une méthode générale pour définir une page d'option d'outil de l'éditeur du service de langage.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Shell
Assembly :  Microsoft.VisualStudio.Shell.11.0 (dans Microsoft.VisualStudio.Shell.11.0.dll)

Syntaxe

'Déclaration
<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

Le type ProvideLanguageEditorOptionPageAttribute expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String) Initialise une nouvelle instance d'ProvideLanguageEditorOptionPageAttribute pour la page spécifiée.
Méthode publique ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, Int32)
Méthode publique ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String)
Méthode publique ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, array<String[])

Début

Propriétés

  Nom Description
Propriété publique Keywords
Propriété publique LanguageName Obtient le nom du langage.
Propriété publique PageGuid Obtient GUID de la page d'option.
Propriété publique PageNameResourceId Obtient l'ID de ressource de nom de la page. (Hérité de ProvideOptionDialogPageAttribute.)
Propriété publique PageType Obtient le type de la page. (Hérité de ProvideOptionDialogPageAttribute.)
Propriété publique TypeId Obtient l'instance actuel de cet attribut. (Hérité de RegistrationAttribute.)

Début

Méthodes

  Nom Description
Méthode publique Equals Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Retourne le code de hachage de cette instance. (Hérité de Attribute.)
Méthode protégée GetPackageRegKeyPath Obtient le chemin d'accès au Registre (par rapport à la racine de Registre de l'application) du VSPackage. (Hérité de RegistrationAttribute.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique IsDefaultAttribute En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publique Match En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique Register Crée toutes les clés de Registre et entrées comme spécifiées par le constructeur de classe. (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Unregister Supprime toutes les clés de Registre et entrées. (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée _Attribute.GetIDsOfNames Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfo Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfoCount Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.Invoke Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)

Début

Remarques

Ce l'informations est enregistré dans clé de Registre <RegistrationRoot>\Languages\Language Services\[langage]\EditorToolsOptions, où [langage] est le nom du langage.

Sous EditorToolsOptions est une arborescence des pages et des Sub- pages Sub-pages qui peuvent imbriquer un certain nombre de niveaux.Ces pages correspondent aux pages d'options affichées dans les options de Visual Studio Tools pour des éditeurs (où une arborescence des pages d'option est affichée sous le nom de langue, chaque page contenant l'option appropriée).

Chaque clé dans cette liste de page d'option contient un identificateur ou une chaîne littéral de ressource contenant le nom localisé de la page.C'est ce qui est montré réellement dans le dialogue d'options d'outils.En outre, elle contient également un package GUID et éventuellement GUID d'une page d'option.

S'il n'existe aucune page GUID d'option, ensuite la clé est considérée comme un nœud dans l'arborescence des options et n'a pas de page associée.Sinon, la clé est une feuille dans l'arborescence, et sa page d'option sera montrée.

Il peut y avoir plusieurs instances de cet attribut, et chaque instance spécifie un nœud ou une page de propriétés.Les attributs peuvent apparaître dans toute commande.Si la page de propriétés GUID est spécifiée ensuite une page de propriétés est enregistrée, sinon c'est un nœud qui est enregistré.

Les attributs définis par l'utilisateur suivants sont utilisés pour les services linguistiques :

Attribut

Description

ProvideLanguageServiceAttribute

Enregistre le service de langage avec Visual Studio et le spécifie que des fonctionnalités sont pris en charge.

ProvideLanguageExtensionAttribute

Associe une extension de fichier avec le service de langage.

ProvideLanguageEditorOptionPageAttribute

Spécifie un nœud ou une page de propriété pour le détail de boîte de dialogue d'options au service de langage.

ProvideLanguageCodeExpansionAttribute

Spécifie les informations d'emplacement pour prendre en charge des extraits de code dans le service de langage.

ProvideServiceAttribute

Enregistre un service de langage comme un service de Visual Studio.Tous les services fournis en code managé utilisent cet attribut.

Remarques à l'attention des implémenteurs

Cette classe d'attributs ne peut pas être héritée de il est rien à implémenter.

Remarques à l'attention des appelants

Cette classe d'attributs est en général appliquée à votre classe primaire d'un VSPackage, mais elle peut s'afficher sur n'importe quelle classe.Cette classe d'attributs peut apparaître plusieurs fois et dans l'ordre, une fois pour chaque page de propriétés et nœud dans l'arborescence de page de propriétés.

Exemples

Cet exemple montre comment cet attribut défini par l'utilisateur est utilisé pour enregistrer deux pages de propriétés général («  » et « retrait ») et un nœud de page de propriétés (« formatage ») qui contient la page de propriétés de « retrait ».Remarque comment le deuxième paramètre au constructeur spécifie la position dans le Registre relatif au nœud.

[!REMARQUE]

Visual C# permet d'un formulaire abrégée d'un attribut défini par l'utilisateur en supprimant la partie « attribut » du nom.Ce formulaire abrégée est utilisé dans cette et tous les autres exemples dans cette classe.

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
    {
    }
}

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Shell, espace de noms