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
Créez un projet c# ou du classifieur Visual Basic Editor. nommez la solution ContentTypeTest.
Ouvrez le fichier source.extension.vsixmanifest dans l'éditeur de manifeste VSIX.
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.
Enregistrez et fermez le fichier source.extension.vsixmanifest.
supprimez les fichiers de classe existants.
définir le type de contenu
pour définir un type de contenu
ajoutez un fichier de classe et nommez-le FileAndContentTypes.
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;
Déclarez une classe statique (module en Visual Basic) qui contient les définitions.
Friend Module FileAndContentTypeDefinitions End Module
internal static class FileAndContentTypeDefinitions
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
Créez une extension de l'éditeur.
Lorsque vous les exportez, ajoutez ContentTypeAttribute de type « a » masqué à celui-ci.
<Export(), ContentType("hid")> Friend myDefinition3 As FileExtensionToContentTypeDefinition
[Export] [ContentType("hid")]