Partager via


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
Méthode publique ProvideLanguageExtensionAttribute(String, String) Initialise une nouvelle instance de l'attribut d'ProvideLanguageExtensionAttribute, à l'aide de le service de langage spécifié GUID.
Méthode publique 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
Propriété publique Extension Retourne l'extension de fichier associé.
Propriété publique LanguageService Retourne le langage GUID.
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 Met l'extension de fichier et le service de langage GUID dans le Registre. (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 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
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

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

ProvideLanguageServiceAttribute

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.

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

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.

Voir aussi

Référence

Microsoft.VisualStudio.Shell, espace de noms