ProvideLanguageExtensionAttribute, classe
Associe une extension de fichier avec un service de langage particulier.
Hiérarchie d'héritage
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideLanguageExtensionAttribute
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 ProvideLanguageExtensionAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageExtensionAttribute : RegistrationAttribute
Le type ProvideLanguageExtensionAttribute expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
ProvideLanguageExtensionAttribute(String, String) | Initialise une nouvelle instance de l'attribut d'ProvideLanguageExtensionAttribute, à l'aide de le service de langage spécifié GUID. | |
ProvideLanguageExtensionAttribute(Type, String) | Initialise une nouvelle instance de l'attribut d'ProvideLanguageExtensionAttribute, à l'aide de le type de votre classe de service de langage. |
Début
Propriétés
Nom | Description | |
---|---|---|
Extension | Retourne l'extension de fichier associé. | |
LanguageService | Retourne le langage GUID. | |
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 | Met l'extension de fichier et le service de langage GUID dans le Registre. (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) | |
Unregister | Supprime l'extension de fichier et le service de langage GUID du Registre. (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 de C- est utilisé pour enregistrer avec Visual Studio une extension de fichier pour un service de langage particulier.Cet attribut met les informations nécessaires dans les métadonnées de l'assembly qui sont extraites et ultérieurement utilisées par regpkg.exe.Vous devez toujours enregistrer le service de langage elle-même ; cet attribut fait que l'association entre l'extension de fichier et le service de langage.Pour plus d'informations, consultez Stocker les VSPackages.
Vous pouvez utiliser plusieurs instances de cet attribut pour associer des extensions de fichier en avec votre service de langage.
La clé de Registre qui est affectée par cet attribut existe sous la clé de Registre de Visual Studio :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\
Languages\
File Extensions\
[FileExtension]\
(Default) = RG_SZ: [LanguageServiceGuid]
où :
[X.Y] est un numéro de version de Visual Studio tel que 8,0 ou 8.0exp.
[FileExtension] est une chaîne contenant l'extension de fichier avec la principale période ; par exemple, « myext ».
[LanguageServiceGuid] est GUID du service de langage ; par exemple, {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}.
Les attributs définis par l'utilisateur suivants sont utilisés pour les services linguistiques :
Attribut |
Description |
---|---|
Enregistre le service de langage avec Visual Studio et spécifie les fonctionnalités sont prises en charge. |
|
ProvideLanguageExtensionAttribute |
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
Utilisez cet attribut sur votre VSPackage pour associer une extension de fichier avec votre service de langage.
Exemples
Cet exemple montre comment associer l'extension de fichier « .myext » avec un service de langage.
[!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
{
[ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
public class MyLanguagePackage : Package
{
}
}
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.