ProvideLanguageServiceAttribute, classe
Informe à Visual Studio qu'un VSPackage fournit un service de langage.Utilisé avec l'infrastructure managée de package. (MPF)
Hiérarchie d'héritage
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideLanguageServiceAttribute
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 ProvideLanguageServiceAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageServiceAttribute : RegistrationAttribute
Le type ProvideLanguageServiceAttribute expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
ProvideLanguageServiceAttribute | Initialise une nouvelle instance de la classe Shell.ProvideLanguageServiceAttribute. |
Début
Propriétés
Nom | Description | |
---|---|---|
AutoOutlining | Détermine si le mode Plan automatique de service prend en charge de langage. | |
CodeSense | Détermine si les opérations d'Intellisense de service prend en charge de langage. | |
CodeSenseDelay | Détermine la durée avant qu'une opération d'analyse soit démarrée pour prendre en charge une opération d'Intellisense. | |
DebuggerLanguageExpressionEvaluator | Détermine l'évaluateur d'expression qui est utilisé pour évaluer des expressions. | |
DefaultToInsertSpaces | Détermine le paramètre par défaut pour l'option d'Insérer des espaces dans la boîte de dialogue d'Options pour un service de langage. | |
DefaultToNonHotURLs | Détermine le paramètre initiale de l'option de Activer la navigation dans les URL par simple clic dans la boîte de dialogue d'Options. | |
EnableAdvancedMembersOption | Détermine si l'option de Masquer les membres avancés est activée dans la boîte de dialogue d'Options. | |
EnableAsyncCompletion | Détermine si l'analyse d'arrière-plan de prises en charge linguistique. | |
EnableCommenting | Détermine si le service de langage peut commenter et annuler les marques de commentaire code source à l'aide d'une commande unique. | |
EnableFormatSelection | Détermine si la mise en forme automatique de service prend en charge de langage de code source. | |
EnableLineNumbers | Détermine si l'option de Numérotation des lignes peut être sélectionnée dans la boîte de dialogue d'Options. | |
HideAdvancedMembersByDefault | Détermine l'état initial de l'option de Masquer les membres avancés dans la boîte de dialogue d'options. | |
LanguageName | Infrastructure. Retourne le nom du langage. | |
LanguageResourceID | Infrastructure. Retourne l'ID de ressource utilisé pour obtenir la version localisée du nom de langue. | |
LanguageServiceSid | Infrastructure. Retourne GUID du service de langage. | |
MatchBraces | Détermine si le service prend en charge de langage correspondant à des couples de langue. | |
MatchBracesAtCaret | Détermine si les service prend en charge d'un langage correspondant à des couples de langue en tapant. | |
MaxErrorMessages | Détermine le nombre maximal de message d'erreurs qu'un service de langage peut stocker pour une opération d'analyse. | |
QuickInfo | Détermine si le service prend en charge de langage l'info express d'Intellisense. | |
RequestStockColors | Détermine si le service de langage utilise les éléments prédéfinis qui autorisent la modification de la couleur comme fourni par Visual Studio. | |
ShowCompletion | Détermine si les options de Saisie semi-automatique des instructions sont activées dans la boîte de dialogue d'Options. | |
ShowDropDownOptions | Détermine si l'option de barre de navigation est activée dans la boîte de dialogue d'Options. | |
ShowHotURLs | Détermine si des URL sont affichés de façon à les montrer peuvent être sélectionnés sur.Cette option n'est pas utilisée. | |
ShowMatchingBrace | Détermine si le domaine de langues correspondant est montré dans la barre d'état. | |
ShowSmartIndent | Détermine si l'option de Retrait intelligent est activée dans la boîte de dialogue d'Options. | |
SingleCodeWindowOnly | Détermine si Fenêtre - > la commande de Nouvelle fenêtre est désactivée pour un service de langage. | |
SupportCopyPasteOfHTML | Détermine si le service prend en charge de langage le HTML de format de presse-papiers pour la copie et les opérations de collage. | |
TypeId | Obtient l'instance actuel de cet attribut. (Hérité de RegistrationAttribute.) |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
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.) | |
GetHashCode | Retourne le code de hachage de cette instance. (Hérité de Attribute.) | |
GetPackageRegKeyPath | Obtient le chemin d'accès au Registre (par rapport à la racine de Registre de l'application) du VSPackage. (Hérité de RegistrationAttribute.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
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.) | |
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.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
Register | Infrastructure. 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).) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) | |
Unregister | Supprime toutes les clés de Registre et entrées comme spécifiées par le constructeur de classe. (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Début
Implémentations d'interface explicite
Nom | Description | |
---|---|---|
_Attribute.GetIDsOfNames | Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.) | |
_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.) | |
_Attribute.GetTypeInfoCount | Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.) | |
_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
Cet attribut défini par l'utilisateur (qui est spécifique à Visual C#) est utilisé pour fournir des informations nécessaires pour enregistrer un service de langage avec Visual Studio.Les valeurs spécifiées par cet attribut sont enregistrées en tant que métadonnées dans l'assembly.Ce les métadonnées sont utilisées ultérieurement par un programme tel que regpkg.exe (une partie du SDK VSIP) pour créer les clés de Registre correspondantes et des entrées qui indiquent Visual Studio relatives au service de langage.
Les entrées du Registre affectées par ProvideLanguageServiceAttribute sont recherchées 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 de langue] est le nom du langage (comme spécifié dans le deuxième paramètre au constructeur de classe d'ProvideLanguageServiceAttribute).
[!REMARQUE]
Chaque propriété spécifie l'entrée du Registre précise qu'elle l'affecte pour que ces entrées ne sont pas montrées dans l'exemple ci-dessus.Ces entrées supplémentaires apparaissent au même niveau que les trois entrées montrées.
Le constructeur de classe spécifie les paramètres requis minimum.Une classe d'attributs définie par l'utilisateur prend en charge également des paramètres nommés facultatifs.Ces paramètres nommés sont spécifiés dans la liste de paramètres du constructeur après les paramètres requis.Toutes les propriétés sur cette classe qui prennent en charge les deux commande get et opérateurs d'ensemble peuvent être spécifiées comme paramètre nommé.L'exemple montre comment des paramètres nommés sont utilisés.
[!REMARQUE]
Certains des paramètres nommés sont spécifiques à l'infrastructure managée de package et (MPF) ceux-ci sont notés dans chaque description de la propriété.
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 spécifie les fonctionnalités sont prises en charge. |
Associe une extension de fichier avec le service de langage. |
|
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. |
|
Spécifie les informations d'emplacement pour prendre en charge des extraits de code dans le service de langage. |
|
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 doit apparaître qu'une seule fois pour chaque service de langage vos prises en charge d'un VSPackage.
Exemples
Cet exemple montre comment cet attribut défini par l'utilisateur est utilisé pour enregistrer un service de langage qui prend en charge des opérations d'Intellisense, la correspondance d'accolade, l'analyse (d'arrière-plan) asynchrone, et des éléments qui autorisent la modification de la couleur personnalisés.
[!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 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
{
}
}
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.