Návod: Propojení typu obsahu s příponou názvu souboru
Vlastní typ obsahu můžete definovat a propojit s ním příponu názvu souboru pomocí rozšíření MEF (Managed Extensibility Framework). V některých případech je přípona názvu souboru už definovaná službou jazyka. Pokud ho ale chcete použít se systémem MEF, musíte ho přesto propojit s typem obsahu.
Vytvoření projektu MEF
Vytvořte projekt VSIX jazyka C#. (V Dialogové okno Nový projekt , vyberte Visual C# / Rozšiřitelnost a pak projekt VSIX.) Pojmenujte řešení
ContentTypeTest
.V souboru source.extension.vsixmanifest přejděte na kartu Prostředky a nastavte pole Typ na Microsoft.VisualStudio.MefComponent, zdrojové pole do projektu v aktuálním řešení a pole Project na název projektu.
Definování typu obsahu
Přidejte soubor třídy a pojmenujte ho
FileAndContentTypes
.Přidejte odkazy na následující sestavení:
System.ComponentModel.Composition
Microsoft.VisualStudio.Text.Logic
Microsoft.VisualStudio.CoreUtility
Přidejte následující
using
direktivy.using System.ComponentModel.Composition; using Microsoft.VisualStudio.Text.Classification; using Microsoft.VisualStudio.Utilities;
Deklarujte statickou třídu, která obsahuje definice.
internal static class FileAndContentTypeDefinitions {. . .}
V této třídě exportujte pojmenovanou ContentTypeDefinition "hid" a deklarujte její základní definici jako text.
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; }
Propojení přípony názvu souboru s typem obsahu
Pokud chcete tento typ obsahu namapovat na příponu názvu souboru, exportujte FileExtensionToContentTypeDefinition příponu .hid a typ obsahu "hid".
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; [Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition; }
Přidání typu obsahu do exportu editoru
Vytvořte rozšíření editoru. Můžete například použít rozšíření glyph okrajů popsané v návodu: Vytvoření glyfů okrajů.
Přidejte třídu, kterou jste definovali v tomto postupu.
Když exportujete třídu rozšíření, přidejte ContentTypeAttribute do ní typ "hid".
[Export] [ContentType("hid")]