ProvideLanguageServiceAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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]
Où [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. |