Aracılığıyla paylaş


İ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

  1. 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ü ContentTypeTestolarak adlandırın.

  2. 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

  1. Bir sınıf dosyası ekleyin ve adını verin FileAndContentTypes.

  2. Aşağıdaki derlemelere başvurular ekleyin:

    1. System.ComponentModel.Composition

    2. Microsoft.VisualStudio.Text.Logic

    3. Microsoft.VisualStudio.CoreUtility

  3. Aşağıdaki using yönergeleri ekleyin.

    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.Text.Classification;
    using Microsoft.VisualStudio.Utilities;
    
    
  4. Tanımları içeren statik bir sınıf bildirin.

    internal static class FileAndContentTypeDefinitions
    {. . .}
    
  5. 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;
    }
    
  • 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

  1. 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.

  2. Bu yordamda tanımladığınız sınıfı ekleyin.

  3. Uzantı sınıfını dışarı aktardığınızda, uzantıya "hid" türünde bir ContentTypeAttribute ekleyin.

    [Export]
    [ContentType("hid")]