逐步解說: 將內容類型連結至檔案名稱副檔名
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
您可以定義您自己的內容類型,並使用編輯器 Managed Extensibility Framework (MEF) 延伸模組,將副檔名連結到它。 在某些情況下,檔案的副檔名已經定義的語言服務。不過,使用 MEF 您仍必須將它連結到內容類型。
必要條件
啟動 Visual Studio 2015 中,您未安裝 Visual Studio SDK 從 「 下載中心 」。 它是 Visual Studio 安裝程式的選用功能。 您也可以在稍後安裝 VS SDK。 如需詳細資訊,請參閱安裝 Visual Studio SDK。
建立 MEF 專案
建立 C# VSIX 專案。 (在新的專案對話方塊中,選取Visual C# / 擴充性,然後VSIX 專案。)將方案命名為
ContentTypeTest
。在source.extension.vsixmanifest檔案,請移至資產索引標籤,然後設定類型欄位Microsoft.VisualStudio.MefComponent、來源欄位目前方案中的專案,和專案欄位設為專案的名稱。
定義內容類型
將類別檔案,並將它
FileAndContentTypes
。加入下列組件的參考:
System.ComponentModel.Composition
Microsoft.VisualStudio.Text.Logic
Microsoft.VisualStudio.CoreUtility
新增下列
using
指示詞。using System.ComponentModel.Composition; using Microsoft.VisualStudio.Text.Classification; using Microsoft.VisualStudio.Utilities;
宣告靜態類別中包含的定義。
internal static class FileAndContentTypeDefinitions {. . .}
在此類別中匯出ContentTypeDefinition名為 「 隱藏 」 和 「 文字 」,為其基底定義宣告。
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; }
內容類型連結的檔案名稱副檔名
若要將此內容類型對應至檔案的副檔名,匯出FileExtensionToContentTypeDefinition擴充功能的 「.hid 」 和內容類型 「 隱藏 」。
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; [Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition; }
將內容類型加入至編輯器匯出
建立編輯器延伸模組。 例如,您可以使用邊界圖像 (glyph) 延伸模組中所述逐步解說︰ 建立邊界圖像。
加入您在此程序中定義的類別。
當您匯出的擴充類別時,加入ContentTypeAttribute 「 隱藏 」 給它的型別。
[Export] [ContentType("hid")]