Freigeben über


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

  1. Erstellen Sie ein Projekt Klassifizierungs C#- oder Visual Basic-Editors. Geben Sie der Projektmappe ContentTypeTest.

  2. Öffnen Sie die Datei source.extension.vsixmanifest im VSIX-Manifest-Editor.

  3. Überprüfen Sie, ob die Content Überschrift einen MEF-Komponenten-Inhaltstyp enthält und dass der Pfad zu ContentTypeTest.dll festgelegt ist.

  4. Speichern und schließen Sie source.extension.vsixmanifest.

  5. Löschen Sie die vorhandenen Klassendateien.

Definieren des Inhaltstyps

So definieren Sie einen Inhaltstyp

  1. Fügen Sie eine Klassendatei hinzu, und nennen Sie sie FileAndContentTypes.

  2. 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;
    
  3. Deklarieren Sie eine statische Klasse (Modul in Visual Basic), die die Definitionen enthält.

    Friend Module FileAndContentTypeDefinitions
    
    End Module
    
    internal static class FileAndContentTypeDefinitions
    
  4. 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

  1. Erstellen Sie eine Erweiterung Editor.

  2. Wenn Sie ihn exportieren, fügen Sie ContentTypeAttribute vom Typ „ausblendete“ hinzu.

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

Siehe auch

Konzepte

Editor-Erweiterungs-Punkte