İzlenecek yol: İçerik türünü dosya adı uzantısına bağlama
Kendi içerik türünüzü tanımlayabilir ve düzenleyici Yönetilen Genişletilebilirlik Çerçevesi (MEF) uzantılarını kullanarak dosya adı uzantısını buna bağlayabilirsiniz. Bazı durumlarda, dosya adı uzantısı zaten bir dil hizmeti tarafından tanımlanmıştır. Ancak, MEF ile kullanmak için yine de bir içerik türüne bağlamanız gerekir.
MEF projesi oluşturma
C# VSIX projesi oluşturun. (Yeni Proje iletişim kutusu, Visual C# / Genişletilebilirlik'i ve ardından VSIX Projesi'ni seçin.) Çözümü
ContentTypeTest
olarak adlandırın.source.extension.vsixmanifest dosyasında Varlıklar sekmesine gidin ve Tür alanını Microsoft.VisualStudio.MefComponent olarak, Kaynak alanını geçerli çözümde bir proje olarak ve Proje alanını projenin adına ayarlayın.
İçerik türünü tanımlama
Bir sınıf dosyası ekleyin ve adını verin
FileAndContentTypes
.Aşağıdaki derlemelere başvurular ekleyin:
System.ComponentModel.Composition
Microsoft.VisualStudio.Text.Logic
Microsoft.VisualStudio.CoreUtility
Aşağıdaki
using
yönergeleri ekleyin.using System.ComponentModel.Composition; using Microsoft.VisualStudio.Text.Classification; using Microsoft.VisualStudio.Utilities;
Tanımları içeren statik bir sınıf bildirin.
internal static class FileAndContentTypeDefinitions {. . .}
Bu sınıfta, adlandırılmış bir ContentTypeDefinition "hid" dışarı aktarın ve temel tanımını "text" olarak bildirin.
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; }
Dosya adı uzantısını içerik türüne bağlama
Bu içerik türünü bir dosya adı uzantısıyla eşlemek için uzantısı .hid ve içerik türü "hid" olan bir FileExtensionToContentTypeDefinition öğesini dışarı aktarın.
internal static class FileAndContentTypeDefinitions { [Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition; [Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition; }
İçerik türünü düzenleyici dışarı aktarmasına ekleme
Düzenleyici uzantısı oluşturun. Örneğin, İzlenecek Yol: Kenar boşluğu karakteri oluşturma başlığı altında açıklanan kenar boşluğu karakteri uzantısını kullanabilirsiniz.
Bu yordamda tanımladığınız sınıfı ekleyin.
Uzantı sınıfını dışarı aktardığınızda, uzantıya "hid" türünde bir ContentTypeAttribute ekleyin.
[Export] [ContentType("hid")]