İzlenecek Yol: Visual Basic'de Görselleştirici Yazma

Önemli

Visual Studio 2022 sürüm 17.9'dan başlayarak, görselleştiriciler artık yeni VisualStudio.Genişletilebilirlik modeli kullanılarak işlem dışı çalışan .NET 6.0+ dilinde yazılabilir. Visual Studio'nun eski sürümlerini desteklemek veya özel görselleştiricilerini bir kitaplık DLL'sinin parçası olarak göndermek istemedikleri sürece görselleştirici yazarlarının Visual Studio hata ayıklayıcısı görselleştiricileri oluşturma bölümündeki yeni belgelere başvurmalarını öneririz.

Bu izlenecek yol, Visual Basic kullanarak basit bir görselleştirici yazma adımlarını gösterir. Bu kılavuzda oluşturacağınız görselleştirici, Windows Forms ileti kutusunu kullanarak bir dizenin içeriğini görüntüler. Bu basit dize görselleştiricisi, projeleriniz için daha uygun olan diğer veri türleri için görselleştiricileri nasıl oluşturabileceğinizi gösteren temel bir örnektir.

Not

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza veya sürümünüze bağlı olarak Yardım'da açıklananlardan farklı olabilir. Ayarlarınızı değiştirmek için Araçlar menüsüne gidin ve İçeri ve Dışarı Aktar'ı seçin. Daha fazla bilgi için bkz . Ayarları sıfırlama.

Görselleştirici kodu, hata ayıklayıcı tarafından okunacak bir DLL'ye yerleştirilmelidir. İlk adım, DLL için bir sınıf kitaplığı projesi oluşturmaktır.

Sınıf Kitaplığı Projesi Oluşturma ve Hazırlama

Sınıf kitaplığı projesi oluşturmak için

  1. Yeni bir sınıf kitaplığı projesi oluşturun.

    Başlangıç penceresini kapatmak için Esc tuşuna basın. Arama kutusunu açmak için Ctrl + Q yazın, visual basic yazın, Şablonlar'ı ve ardından Yeni sınıf kitaplığı oluştur (.NET Framework) öğesini seçin. Görüntülenen iletişim kutusunda Oluştur'u seçin.

  2. Sınıf kitaplığı MyFirstVisualizeriçin gibi uygun bir ad yazın ve Oluştur'a veya Tamam'a tıklayın.

    Sınıf kitaplığını oluşturduğunuzda, burada tanımlanan sınıfları kullanabilmek için Microsoft.VisualStudio.DebuggerVisualizers.DLL bir başvuru eklemeniz gerekir. Ancak ilk olarak projenize anlamlı bir ad verirsiniz.

Class1.vb yeniden adlandırmak ve Microsoft.VisualStudio.DebuggerVisualizers eklemek için

  1. Çözüm Gezgini Class1.vb sağ tıklayın ve kısayol menüsünde Yeniden Adlandır'a tıklayın.

  2. Class1.vb adını DebuggerSide.vb gibi anlamlı bir adla değiştirin.

    Not

    Visual Studio, DebuggerSide.vb'daki sınıf bildirimini yeni dosya adıyla eşleşecek şekilde otomatik olarak değiştirir.

  3. Çözüm Gezgini,İlk Görselleştiricim'e sağ tıklayın ve kısayol menüsünde Başvuru Ekle'ye tıklayın.

  4. Başvuru Ekle iletişim kutusundaki Gözat sekmesinde Gözat'ı seçin ve Microsoft.VisualStudio.DebuggerVisualizers.DLL bulun.

    DLL dosyasını <Visual Studio'nun yükleme dizininin Visual Studio Install Directory>\Common7\IDE\PublicAssemblies alt dizininde bulabilirsiniz.

  5. Tamam'a tıklayın.

  6. DebuggerSide.vb deyimlerine Imports aşağıdaki deyimi ekleyin:

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Hata Ayıklayıcı Tarafı Kodunu Ekleme

Artık hata ayıklayıcı tarafı kodu oluşturmaya hazırsınız. Bu, görselleştirmek istediğiniz bilgileri görüntülemek için hata ayıklayıcısı içinde çalışan koddur. İlk olarak, temel sınıfından DebuggerSideDialogDebuggerVisualizerdevralması için nesnesinin bildirimini değiştirmeniz gerekir.

DialogDebuggerVisualizer'dan devralmak için

  1. DebuggerSide.vb'da aşağıdaki kod satırına gidin:

    Public Class DebuggerSide
    
  2. Kodu şu şekilde görünecek şekilde düzenleyin:

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    Not

    DialogDebuggerVisualizer oluşturucusunda bir FormatterPolicy bağımsız değişken bekler. Ancak Visual Studio 2022 sürüm 17.11'den başlayarak .NET 5.0+ için özel hata ayıklayıcısı tarafında dikkat edilmesi gerekenler bölümünde açıklanan güvenlik sorunları nedeniyle görselleştiriciler biçimlendirici ilkesini belirtemezLegacy.

    DialogDebuggerVisualizer geçersiz kılmanız gereken bir soyut yöntemi Showvardır.

DialogDebuggerVisualizer.Show yöntemini geçersiz kılmak için

  • içine public class DebuggerSideaşağıdaki yöntemi ekleyin:

    Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)
    
        End Sub
    

    Show yöntemi, görselleştirici iletişim kutusunu veya başka bir kullanıcı arabirimini oluşturan kodu içerir ve hata ayıklayıcıdan görselleştiriciye geçirilen bilgileri görüntüler. İletişim kutusunu oluşturan ve bilgileri görüntüleyen kodu eklemeniz gerekir. Bu kılavuzda, bunu bir Windows Forms ileti kutusu kullanarak yapacaksınız. İlk olarak, için System.Windows.Formsbir başvuru ve Imports deyimi eklemeniz gerekir.

System.Windows.Forms eklemek için

  1. Çözüm Gezgini, Başvurular'a sağ tıklayın ve kısayol menüsünde Başvuru Ekle'ye tıklayın.

  2. Başvuru Ekle iletişim kutusundaki Gözat sekmesinde Gözat'ı seçin ve System.Windows.Forms.DLL bulun.

    DLL dosyasını C:\Windows\Microsoft.NET\Framework\v4.0.30319 konumunda bulabilirsiniz.

  3. Tamam'a tıklayın.

  4. DebuggerSide.cs deyimlerine Imports aşağıdaki deyimi ekleyin:

    Imports System.Windows.Forms
    

Görselleştiricinizin Kullanıcı Arabirimini Oluşturma

Şimdi görselleştiricinizin kullanıcı arabirimini oluşturmak ve göstermek için bazı kodlar ekleyebilirsiniz. Bu ilk görselleştiriciniz olduğundan, kullanıcı arabirimini basit tutar ve bir İleti Kutusu kullanırsınız.

İletişim kutusunda görselleştirici çıkışını göstermek için

  1. Show yönteminde aşağıdaki kod satırını ekleyin:

    MessageBox.Show(objectProvider.GetObject().ToString())
    

    Bu örnek kod, hata işlemeyi içermez. Hata işlemeyi gerçek bir görselleştiriciye veya başka bir uygulama türüne eklemeniz gerekir.

  2. Oluştur menüsünde MyFirstVisualizer Oluştur'a tıklayın. Proje başarıyla derlenmelidir. Devam etmeden önce derleme hatalarını düzeltin.

Gerekli Özniteliği Ekleme

Bu, hata ayıklayıcı tarafı kodunun sonudur. Ancak bir adım daha vardır: debuggee tarafına hangi sınıf koleksiyonunun görselleştiriciyi içerdiğini bildiren öznitelik.

Debuggee-side kodu için görselleştirmek üzere tür eklemek için

Hata ayıklayıcı tarafı kodunda, özniteliğini kullanarak DebuggerVisualizerAttribute debuggee için görselleştirilecek türü (nesne kaynağı) belirtirsiniz. Target özelliği, görselleştirmek için türünü ayarlar.

  1. deyimlerinden sonra Imports ancak önce namespace MyFirstVisualizerDebuggerSide.vb aşağıdaki öznitelik kodunu ekleyin:

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. Oluştur menüsünde MyFirstVisualizer Oluştur'a tıklayın. Proje başarıyla derlenmelidir. Devam etmeden önce derleme hatalarını düzeltin.

Test Koşumu Oluşturma

Bu noktada, ilk görselleştiriciniz tamamlanmıştır. Adımları doğru izlediyseniz görselleştiriciyi derleyebilir ve Visual Studio'ya yükleyebilirsiniz. Ancak Visual Studio'ya bir görselleştirici yüklemeden önce, doğru çalıştığından emin olmak için bunu test etmelisiniz. Şimdi görselleştiriciyi Visual Studio'ya yüklemeden çalıştırmak için bir test koşumu oluşturacaksınız.

Görselleştiriciyi göstermek için bir test yöntemi eklemek için

  1. sınıfına public DebuggerSideaşağıdaki yöntemi ekleyin:

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. Oluştur menüsünde MyFirstVisualizer Oluştur'a tıklayın. Proje başarıyla derlenmelidir. Devam etmeden önce derleme hatalarını düzeltin.

    Ardından, görselleştirici DLL'nizi çağırmak için yürütülebilir bir proje oluşturmanız gerekir. Kolaylık olması için konsol uygulaması projesi kullanın.

Çözüme konsol uygulaması projesi eklemek için

  1. Çözüm Gezgini'da çözüme sağ tıklayın, Ekle'yi seçin ve ardından Yeni Proje'ye tıklayın.

    Arama kutusuna visual basic yazın, Şablonlar'ı ve ardından Yeni Konsol Uygulaması (.NET Framework) oluştur'u seçin. Görüntülenen iletişim kutusunda Oluştur'u seçin.

  2. Sınıf kitaplığı MyTestConsoleiçin gibi uygun bir ad yazın ve Oluştur'a veya Tamam'a tıklayın.

    Şimdi, MyTestConsole'un MyFirstVisualizer'ı çağırabilmesi için gerekli başvuruları eklemeniz gerekir.

MyTestConsole'a gerekli başvuruları eklemek için

  1. Çözüm Gezgini,MyTestConsole'a sağ tıklayın ve kısayol menüsünde Başvuru Ekle'ye tıklayın.

  2. Başvuru Ekle iletişim kutusundaki Gözat sekmesinde Microsoft.VisualStudio.DebuggerVisualizers'a tıklayın.

  3. Tamam'a tıklayın.

  4. MyTestConsole öğesine sağ tıklayın ve sonra yeniden Başvuru Ekle'ye tıklayın.

  5. Başvuru Ekle iletişim kutusunda Projeler sekmesine tıklayın ve ardından MyFirstVisualizer'ı seçin.

  6. Tamam'a tıklayın.

Test Koşumunuzu Tamamlayın ve Görselleştiricinizi Test Edin

Şimdi test koşumunu tamamlamak için kodu ekleyebilirsiniz.

MyTestConsole'a kod eklemek için

  1. Çözüm Gezgini Program.vb sağ tıklayın ve kısayol menüsünde Yeniden Adlandır'a tıklayın.

  2. Module1.vb adını TestConsole.vb gibi uygun bir şekilde düzenleyin.

    Visual Studio'nın TestConsole.vb'daki sınıf bildirimini yeni dosya adıyla eşleşecek şekilde otomatik olarak değiştirdiğini fark edin.

  3. TestConsole'da. vb, aşağıdaki Imports deyimi ekleyin:

    Imports MyFirstVisualizer
    
  4. yönteminde Mainaşağıdaki kodu ekleyin:

    Dim myString As String = "Hello, World"
    DebuggerSide.TestShowVisualizer(myString)
    

    Artık ilk görselleştiricinizi test etmeye hazırsınız.

Görselleştiriciyi test etmek için

  1. Çözüm Gezgini,MyTestConsole'a sağ tıklayın ve kısayol menüsünde Başlangıç Projesi Olarak Ayarla'ya tıklayın.

  2. Hata Ayıkla menüsünde Başlat'a tıklayın.

    Konsol uygulaması başlatılır. Görselleştirici görüntülenir ve "Hello, World" dizesini görüntüler.

    Tebrikler. İlk görselleştiricinizi oluşturup test etmişsiniz.

    Görselleştiricinizi yalnızca test koşumundan çağırmak yerine Visual Studio'da kullanmak istiyorsanız yüklemeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Görselleştirici Yükleme.