Partager via


ProvideLanguageServiceAttribute Classe

Définition

Informe Visual Studio qu’un VSPackage fournit un service de langage. Utilisé avec le MPF (Managed Package Framework).

public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageServiceAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageServiceAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageServiceAttribute
Inherits RegistrationAttribute
Héritage
ProvideLanguageServiceAttribute
Attributs

Exemples

Cet exemple montre comment cet attribut défini par l’utilisateur est utilisé pour inscrire un service de langage qui prend en charge les opérations IntelliSense, la correspondance d’accolades, l’analyse asynchrone (en arrière-plan) et les éléments colorables personnalisés.

Notes

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

using Microsoft.VisualStudio.Shell;  

namespace MyLanguagePackage  
{  
    internal class MyConstants  
    {  
        public const string languageName           = "MyLanguage";  
        public const int    languageNameResourceID = 106;  
    }  

    [ProvideLanguageService(typeof(MyLanguageService),  
                            MyConstants.languageName,  
                            MyConstants.languageNameResourceID,  
        // Optional language service properties  
        CodeSense             = true,  // General IntelliSense support  
        RequestStockColors    = false, // Custom colorable items  
        EnableASyncCompletion = true,  // supports background parsing  
        MatchBraces           = true,  // Match braces on command  
        MatchBracesAtCaret    = true   // Match braces while typing  
                           )]  

    class MyLanguagePackage  
    {  
    }  
}  

Remarques

Cet attribut défini par l’utilisateur (qui est spécifique à Visual C#) est utilisé pour fournir les informations nécessaires à l’inscription d’un service de langage auprès de Visual Studio. Les valeurs spécifiées par cet attribut sont stockées en tant que métadonnées dans l’assembly. Ces métadonnées sont ensuite utilisées par un programme tel que regpkg.exe (qui fait partie du Kit de développement logiciel (SDK) VSIP) pour créer les clés de Registre et les entrées correspondantes qui informent Visual Studio du service de langage.

Les entrées de Registre affectées par se ProvideLanguageServiceAttribute trouvent sous la clé de Registre suivante :

HKEY_LOCAL_MACHINE\  
  SOFTWARE\  
    Microsoft\  
      VisualStudio\  
        [X.Y]\  
          Languages\  
            Language Services\  
              [language name]\  
                (Default) = reg_sz: [Language Service GUID]  
                Package   = reg_sz: [Package GUID]  
                LangResID = reg_dword: [language name resource ID]  

[X.Y] est la version de Visual Studio, par exemple, 8.0Exp et [nom du langage] est le nom de la langue (comme spécifié dans le deuxième paramètre du constructeur de ProvideLanguageServiceAttribute classe).

Notes

Chaque propriété spécifie l’entrée de Registre exacte qu’elle affecte afin que ces entrées ne soient pas affichées dans l’exemple ci-dessus. Ces entrées supplémentaires apparaissent au même niveau que les trois entrées affichées.

Le constructeur de classe spécifie les paramètres minimaux requis. Une classe d’attributs définie par l’utilisateur prend également en charge les paramètres nommés facultatifs. Ces paramètres nommés sont spécifiés dans la liste des paramètres du constructeur après les paramètres requis. Toutes les propriétés de cette classe qui prennent en charge les opérateurs get et set peuvent être spécifiées en tant que paramètre nommé. L’exemple montre comment les paramètres nommés sont utilisés.

Notes

Certains des paramètres nommés sont spécifiques à l’infrastructure de package managé (MPF) et ceux-ci sont notés dans la description de chaque propriété.

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

Attribut Description
ProvideLanguageServiceAttribute Inscrit le service linguistique auprès de Visual Studio et spécifie les fonctionnalités prises en charge.
ProvideLanguageExtensionAttribute Associe une extension de fichier au service de langage.
ProvideLanguageEditorOptionPageAttribute Spécifie un nœud de propriété ou une page pour la boîte de dialogue Options spécifique au service de langue.
ProvideLanguageCodeExpansionAttribute Spécifie les informations d’emplacement pour prendre en charge les extraits de code dans le service de langage.
ProvideServiceAttribute Inscrit un service de langage en tant que service Visual Studio. Tous les services fournis dans le code managé utilisent cet attribut.

Notes pour les héritiers

Cette classe d’attribut ne peut pas être héritée, il n’y a donc rien à implémenter.

Notes pour les appelants

Cette classe d’attribut est généralement appliquée à votre classe VSPackage principale, bien qu’elle puisse apparaître sur n’importe quelle classe. Cette classe ne doit apparaître qu’une seule fois pour chaque service linguistique pris en charge par votre VSPackage.

Constructeurs

ProvideLanguageServiceAttribute(Object, String, Int32)

Initialise une nouvelle instance de la classe Shell.ProvideLanguageServiceAttribute.

Propriétés

AutoOutlining

Détermine si le service de langage prend en charge le mode Plan automatique.

CodeSense

Détermine si le service de langage prend en charge les opérations IntelliSense.

CodeSenseDelay

Détermine la durée avant qu'une opération d'analyse démarre pour prendre en charge une opération IntelliSense.

DebuggerLanguageExpressionEvaluator

Détermine l'évaluateur d'expression qui est utilisé pour évaluer des expressions.

DefaultToInsertSpaces

Détermine le paramètre par défaut de l’option Insérer des espaces dans la boîte de dialogue Options d’un service de langue.

DefaultToNonHotURLs

Détermine le paramètre initial de l’option Activer la navigation d’URL en un clic dans la boîte de dialogue Options.

EnableAdvancedMembersOption

Détermine si l’option Masquer les membres avancés est activée dans la boîte de dialogue Options.

EnableAsyncCompletion

Détermine si le langage prend en charge l'analyse d'arrière-plan.

EnableCommenting

Détermine si le service de langage peut faire des commentaires de code source et les annuler à l'aide d'une commande unique.

EnableFormatSelection

Détermine si le service de langage prend en charge la mise en forme automatique du code source.

EnableLineNumbers

Détermine si l’option Numéros de ligne peut être sélectionnée dans la boîte de dialogue Options.

FontColorDefaults

Informe Visual Studio qu’un VSPackage fournit un service de langage. Utilisé avec le MPF (Managed Package Framework).

HideAdvancedMembersByDefault

Détermine l’état initial de l’option Masquer les membres avancés dans la boîte de dialogue Options.

LanguageName

Retourne le nom du langage.

LanguageResourceID

Retourne l'ID de ressource utilisé pour obtenir la version localisée du nom de la langue.

LanguageServiceSid

Informe Visual Studio qu’un VSPackage fournit un service de langage. Utilisé avec le MPF (Managed Package Framework).

MatchBraces

Détermine si le service de langage prend en charge la mise en correspondance des paires de langages.

MatchBracesAtCaret

Détermine si un service de langage prend en charge la mise en correspondance des paires de langages pendant la frappe.

MaxErrorMessages

Détermine le nombre maximal de messages d'erreurs qu'un service de langage peut enregistrer pour une opération d'analyse.

QuickInfo

Détermine si le service linguistique prend en charge les informations rapides IntelliSense.

RequestStockColors

Détermine si le service de langage utilise les éléments colorables intégrés fournis par Visual Studio.

ShowCompletion

Détermine si les options de saisie semi-automatique d’instruction sont activées dans la boîte de dialogue Options.

ShowDropDownOptions

Détermine si l’option de barre de navigation est activée dans la boîte de dialogue Options.

ShowHotURLs

Détermine si les URL sont affichées de manière à montrer qu’elles peuvent être cliquées. Cette option n'est pas utilisée.

ShowMatchingBrace

Détermine si la mise en correspondance des paires de langages est affichée dans la barre d'état.

ShowSmartIndent

Détermine si l’option Mise en retrait intelligente est activée dans la boîte de dialogue Options.

SingleCodeWindowOnly

Détermine si la commande Fenêtre -> Nouvelle fenêtre est désactivée pour un service de langage.

SupportCopyPasteOfHTML

Détermine si le service de langage prend en charge le format de presse-papiers HTML pour les opérations de copier-coller.

TypeId

Remplacez la propriété TypeID afin de permettre aux classes dérivées RegistrationAttribute de fonctionner avec System.ComponentModel.TypeDescriptor.GetAttributes (...). Un attribut dérivé de celui-ci doit remplacer cette propriété uniquement s’il a besoin d’un meilleur contrôle sur les instances qui peuvent être appliquées à une classe.

(Hérité de RegistrationAttribute)

Méthodes

GetPackageRegKeyPath(Guid)

Obtient le chemin d'accès au Registre (relatif à la racine de Registre de l'application) du VSPackage.

(Hérité de RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Crée toutes les entrées et clés de Registre comme spécifié par le constructeur de classe.

Unregister(RegistrationAttribute+RegistrationContext)

Supprime toutes les entrées et clés de Registre comme spécifié par le constructeur de classe.

S’applique à