Partager via


Procédure pas - à - pas : lier un type de contenu à une extension de nom de fichier

Vous pouvez définir votre propre type de contenu et lier une extension de nom de fichier à celui-ci à l'aide de les extensions managées en éditeur d' (MEF)infrastructure d'extensibilité. Dans certains cas, l'extension de nom de fichier a déjà été définie par un service de langage ; néanmoins, pour l'utiliser avec MEF vous devez encore la lier à un type de contenu.

Pour suivre cette procédure, vous devez installer Visual Studio 2010 Kit de développement logiciel. Pour plus d'informations, consultez Étendre la présentation de Visual Studio. Pour savoir comment télécharger le kit de développement Visual Studio, consultez Visual Studio Extensibility Developer Center sur le site Web MSDN.

Créer un projet MEF

Pour créer un projet MEF

  1. Créez un projet c# ou du classifieur Visual Basic Editor. nommez la solution ContentTypeTest.

  2. Ouvrez le fichier source.extension.vsixmanifest dans l'éditeur de manifeste VSIX.

  3. Assurez -vous que le titre d' Content contient un type de contenu composant MEF et que le chemin d'accès est défini à ContentTypeTest.dll.

  4. Enregistrez et fermez le fichier source.extension.vsixmanifest.

  5. supprimez les fichiers de classe existants.

définir le type de contenu

pour définir un type de contenu

  1. ajoutez un fichier de classe et nommez-le FileAndContentTypes.

  2. Ajoutez les directives suivantes d' using (instructions d'Imports en Visual Basic).

    Imports System.ComponentModel.Composition
    Imports Microsoft.VisualStudio.Text.Classification
    Imports Microsoft.VisualStudio.Utilities
    
    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.Text.Classification;
    using Microsoft.VisualStudio.Utilities;
    
  3. Déclarez une classe statique (module en Visual Basic) qui contient les définitions.

    Friend Module FileAndContentTypeDefinitions
    
    End Module
    
    internal static class FileAndContentTypeDefinitions
    
  4. Dans cette classe, exportez ContentTypeDefinition nommé « a » masqué et déclare sa définition de base pour être « texte ».

    <Export(), Name("hid"), BaseDefinition("text")>
    Friend myDefinition1 As ContentTypeDefinition
    
    [Export]
    [Name("hid")]
    [BaseDefinition("text")]
    internal static ContentTypeDefinition hidingContentTypeDefinition;
    

Lier une extension de nom de fichier un type de contenu

Pour lier une extension de nom de fichier un type de contenu

  • Pour mapper ce type de contenu à une extension de nom de fichier, exportez FileExtensionToContentTypeDefinition avec l'extension « .hid » et le type de contenu « a » masqué.

    <Export(), FileExtension(".hid"), ContentType("hid")>
    Friend myDefinition2 As FileExtensionToContentTypeDefinition
    
    [Export]
    [FileExtension(".hid")]
    [ContentType("hid")]
    internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
    

Ajout du type de contenu à une exportation d'éditeur

Pour ajouter le type de contenu à une extension de l'éditeur

  1. Créez une extension de l'éditeur.

  2. Lorsque vous les exportez, ajoutez ContentTypeAttribute de type « a » masqué à celui-ci.

    <Export(), ContentType("hid")>
    Friend myDefinition3 As FileExtensionToContentTypeDefinition
    
    [Export]
    [ContentType("hid")]
    

Voir aussi

Concepts

Points d'extension de l'éditeur