Exemplarische Vorgehensweise: Verknüpfen einer Dateinamenerweiterung eines Inhaltstyps
Sie können definieren, Inhaltstyp besitzen und eine Dateinamenerweiterung zu ihr zu verknüpfen, indem Sie Erweiterungen Editor Managed Extensibility Framework (MEF) verwenden. In manchen Fällen ist die Dateinamenerweiterung bereits über einen Sprachdienst definiert. jedoch um sie mit MEF verwendet müssen Sie es trotzdem einen Inhaltstyp verknüpfen.
Um dieser exemplarischen Vorgehensweise zu folgen, müssen Sie das Visual Studio 2010 SDK installieren. Weitere Informationen finden Sie unter Erweitern von Visual Studio Overview. Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.
Ein MEF-Projekt erstellen
So erstellen Sie ein MEF-Projekt
Erstellen Sie ein Projekt Klassifizierungs C#- oder Visual Basic-Editors. Geben Sie der Projektmappe ContentTypeTest.
Öffnen Sie die Datei source.extension.vsixmanifest im VSIX-Manifest-Editor.
Überprüfen Sie, ob die Content Überschrift einen MEF-Komponenten-Inhaltstyp enthält und dass der Pfad zu ContentTypeTest.dll festgelegt ist.
Speichern und schließen Sie source.extension.vsixmanifest.
Löschen Sie die vorhandenen Klassendateien.
Definieren des Inhaltstyps
So definieren Sie einen Inhaltstyp
Fügen Sie eine Klassendatei hinzu, und nennen Sie sie FileAndContentTypes.
Fügen Sie die folgenden using-Direktiven hinzu (Imports-Anweisungen in 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;
Deklarieren Sie eine statische Klasse (Modul in Visual Basic), die die Definitionen enthält.
Friend Module FileAndContentTypeDefinitions End Module
internal static class FileAndContentTypeDefinitions
In dieser Klasse exportieren Sie ContentTypeDefinition mit dem Namen „und“ ausblendete deklariert seine niedrige Definition, um „Text“ sein.
<Export(), Name("hid"), BaseDefinition("text")> Friend myDefinition1 As ContentTypeDefinition
[Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition;
Eine Dateinamenerweiterung in einem Inhaltstyp verknüpfen
So erstellen Sie eine Dateinamenerweiterung in einem Inhaltstyp verknüpfen
Um den Inhaltstyp für eine Dateinamenerweiterung zuzuordnen, exportieren Sie FileExtensionToContentTypeDefinition mit der Erweiterung „.hid“ hat und der Inhaltstyp „blendete“ aus.
<Export(), FileExtension(".hid"), ContentType("hid")> Friend myDefinition2 As FileExtensionToContentTypeDefinition
[Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
Hinzufügen des Inhaltstyps zu einem Editor-Export
Um den Inhaltstyp einer Erweiterung Editor hinzu
Erstellen Sie eine Erweiterung Editor.
Wenn Sie ihn exportieren, fügen Sie ContentTypeAttribute vom Typ „ausblendete“ hinzu.
<Export(), ContentType("hid")> Friend myDefinition3 As FileExtensionToContentTypeDefinition
[Export] [ContentType("hid")]