共用方式為


逐步解說︰將內容類型連結至副檔名

您可以使用編輯器 Managed Extensibility Framework (MEF) 擴充功能來定義自己的內容類型,並將副檔名連結至該內容類型。 在某些情況下,副檔名已經由語言服務定義。 但是,若要將它與 MEF 搭配使用,您仍須將其連結到內容類型。

建立 MEF 專案

  1. 建立 C# VXIS 專案。 (在新增專案對話框中,選取 Visual C# /擴充性,然後選取 VSIX 專案。) 命名解決方案 ContentTypeTest

  2. source.extension.vsixmanifest 檔案中,前往資產索引標籤,並將類型欄位設定至 Microsoft.VisualStudio.MefComponent、將來源欄位設定至目前方案中的專案,以及將專案欄位設定至專案的名稱。

定義內容類型

  1. 加入類別檔案,並將它命名為 FileAndContentTypes

  2. 加入下列組件的參考:

    1. System.ComponentModel.Composition

    2. Microsoft.VisualStudio.Text.Logic

    3. Microsoft.VisualStudio.CoreUtility

  3. 新增下列 using 指示詞。

    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.Text.Classification;
    using Microsoft.VisualStudio.Utilities;
    
    
  4. 宣告包含定義的靜態類別。

    internal static class FileAndContentTypeDefinitions
    {. . .}
    
  5. 在此類別中,匯出名為「hid」的 ContentTypeDefinition,並將其基底定義宣告為「text」。

    internal static class FileAndContentTypeDefinitions
    {
        [Export]
        [Name("hid")]
        [BaseDefinition("text")]
        internal static ContentTypeDefinition hidingContentTypeDefinition;
    }
    
  • 若要將此內容類型對應至副檔名,請匯出延伸為 .hid 且內容類型「hid」的 FileExtensionToContentTypeDefinition

    internal static class FileAndContentTypeDefinitions
    {
         [Export]
         [Name("hid")]
         [BaseDefinition("text")]
        internal static ContentTypeDefinition hidingContentTypeDefinition;
    
         [Export]
         [FileExtension(".hid")]
         [ContentType("hid")]
        internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
    }
    

將內容類型新增至編輯器匯出

  1. 建立編輯器擴充功能。 例如,您可以使用逐步解說:建立邊界字符中所述的邊界字符擴展。

  2. 新增您在此程序中定義的類別。

  3. 當您匯出擴充類別時,請將類型為「hid」的 ContentTypeAttribute 新增至該類別。

    [Export]
    [ContentType("hid")]