Bagikan melalui


Panduan: Menulis Visualizer di Visual Basic

Penting

Dimulai dengan Visual Studio 2022 versi 17.9, visualizer sekarang dapat ditulis dalam .NET 6.0+ yang berjalan di luar proses menggunakan model VisualStudio.Extensibility yang baru. Untuk ekstensi yang dibuat menggunakan model baru, lihat dokumentasi di Membuat visualizer debugger Visual Studio sebagai gantinya. Jika Anda perlu mendukung versi Visual Studio yang lebih lama atau ingin mengirim visualizer kustom Anda sebagai bagian dari DLL pustaka, maka gunakan informasi dalam artikel ini, yang hanya berlaku untuk model pengembangan ekstensi (VSSDK) yang lebih lama.

Panduan ini menunjukkan cara menulis visualizer sederhana dengan menggunakan Visual Basic. Visualizer yang akan Anda buat dalam panduan ini menampilkan konten string menggunakan kotak pesan Formulir Windows. Visualizer string sederhana ini adalah contoh dasar untuk menunjukkan bagaimana Anda dapat membuat visualizer untuk jenis data lain yang lebih berlaku untuk proyek Anda.

Nota

Kotak dialog dan perintah menu yang Anda lihat mungkin berbeda dari yang dijelaskan dalam Bantuan, tergantung pada pengaturan atau edisi aktif Anda. Untuk mengubah pengaturan Anda, buka menu Alat dan pilih Impor dan Ekspor . Untuk informasi selengkapnya, lihat pengaturan reset .

Kode visualizer harus ditempatkan dalam DLL yang akan dibaca oleh debugger. Langkah pertama adalah membuat proyek pustaka kelas untuk DLL.

Membuat dan Menyiapkan Proyek Pustaka Kelas

Untuk membuat proyek pustaka kelas

  1. Buat proyek pustaka kelas baru.

    Tekan Esc untuk menutup jendela mulai. Ketik Ctrl + Q untuk membuka kotak pencarian, ketik pustaka kelas, lalu pilih Pustaka Kelas Visual Basic (.NET Framework).

    Tekan Esc untuk menutup jendela mulai. Ketik Ctrl + Q untuk membuka kotak pencarian, ketik visual basic, pilih Templat, lalu pilih Buat Pustaka Kelas baru (.NET Framework).

  2. Ketik nama yang sesuai untuk pustaka kelas, seperti MyFirstVisualizer, lalu klik Buat atau OK.

    Setelah membuat pustaka kelas, Anda harus menambahkan referensi ke Microsoft.VisualStudio.DebuggerVisualizers.DLL, sehingga Anda dapat menggunakan kelas yang ditentukan di sana. Namun, pertama, Anda memberi proyek Anda nama yang bermakna.

Untuk mengganti nama Class1.vb dan menambahkan Microsoft.VisualStudio.DebuggerVisualizers

  1. Di Penjelajah Solusi, klik kanan Class1.vb, dan pada menu pintasan, klik Ganti Nama.

  2. Ubah nama dari Class1.vb menjadi sesuatu yang bermakna, seperti DebuggerSide.vb.

    Nota

    Visual Studio secara otomatis mengubah deklarasi kelas di DebuggerSide.vb agar sesuai dengan nama file baru.

  3. Di Penjelajah Solusi, klik kanan Visualizer Pertama Saya, dan pada menu pintasan, klik Tambahkan Referensi.

  4. Dalam kotak dialog Tambahkan Referensi , pada tab Telusuri , pilih Telusuri dan temukan Microsoft.VisualStudio.DebuggerVisualizers.DLL.

    Anda dapat menemukan DLL di <Visual Studio Install Directory>\Common7\IDE\PublicAssemblies subdirektori direktori penginstalan Visual Studio.

  5. Klik OK.

  6. Dalam DebuggerSide.vb, tambahkan pernyataan berikut di antara pernyataan Imports.

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Tambah Kode Debuger

Sekarang, Anda siap untuk membuat kode sisi debugger. Ini adalah kode yang berjalan dalam debugger untuk menampilkan informasi yang ingin Anda visualisasikan. Pertama, Anda harus mengubah deklarasi objek DebuggerSide sehingga mewarisi dari kelas dasar DialogDebuggerVisualizer.

Untuk mewarisi dari DialogDebuggerVisualizer

  1. Di DebuggerSide.vb, buka baris kode berikut:

    Public Class DebuggerSide
    
  2. Edit kode sehingga terlihat seperti ini:

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    Nota

    DialogDebuggerVisualizer mengharapkan argumen FormatterPolicy di dalam konstruktornya. Namun, karena masalah keamanan yang dijelaskan dalam Pertimbangan sisi debugger khusus untuk .NET 5.0+, dimulai dengan Visual Studio 2022 versi 17.11, visualizer tidak akan dapat menentukan Legacy kebijakan formatter.

    DialogDebuggerVisualizer memiliki satu metode abstrak, Show, yang harus Anda ambil alih.

Untuk mengambil alih metode DialogDebuggerVisualizer.Show

  • Di public class DebuggerSide, tambahkan metode berikut:

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

    Metode Show ini berisi kode yang benar-benar membuat kotak dialog visualizer, atau antarmuka pengguna lainnya, dan menampilkan informasi yang telah diteruskan ke visualizer dari debugger. Anda harus menambahkan kode yang membuat kotak dialog dan menampilkan informasi. Dalam panduan ini, Anda akan melakukan ini menggunakan kotak pesan Formulir Windows. Pertama, Anda harus menambahkan referensi dan Imports pernyataan untuk System.Windows.Forms.

Untuk menambahkan System.Windows.Forms

  1. Di Penjelajah Solusi, klik kanan Referensi, dan pada menu pintasan, klik Tambahkan Referensi.

  2. Dalam kotak dialog Tambahkan Referensi , pada tab Telusuri , pilih Telusuri, dan temukan System.Windows.Forms.DLL.

    Anda dapat menemukan DLL di C:\Windows\Microsoft.NET\Framework\v4.0.30319.

  3. Klik OK.

  4. Dalam DebuggerSide.cs, tambahkan pernyataan berikut ke Imports pernyataan:

    Imports System.Windows.Forms
    

Membuat Antarmuka Pengguna Visualizer Anda

Sekarang Anda akan menambahkan beberapa kode untuk membuat dan menampilkan antarmuka pengguna untuk visualizer Anda. Karena ini adalah visualizer pertama Anda, Anda akan menjaga antarmuka pengguna tetap sederhana dan menggunakan Kotak Pesan.

Untuk memperlihatkan output visualizer dalam kotak dialog

  1. Dalam metode , Show tambahkan baris kode berikut:

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

    Contoh kode ini tidak menyertakan penanganan kesalahan. Anda harus menyertakan penanganan kesalahan dalam visualizer nyata, atau jenis aplikasi lainnya.

  2. Pada menu Build , klik Build MyFirstVisualizer. Proyek diharapkan berhasil dibangun. Koreksi kesalahan build apa pun sebelum melanjutkan.

Tambahkan Atribut yang Diperlukan

Itu adalah akhir dari kode sisi debugger. Namun, ada satu langkah lagi: atribut yang memberi tahu sisi yang dianalisis tentang koleksi kelas mana yang mencakup visualizer.

Untuk menambahkan jenis yang akan divisualisasikan untuk kode sisi debuggee

Dalam kode debugger, Anda menentukan tipe objek yang akan divisualisasikan (sumber objek) untuk debuggee dengan menggunakan atribut DebuggerVisualizerAttribute. Properti Target mengatur jenis yang akan divisualisasikan.

  1. Tambahkan kode atribut berikut ke DebuggerSide.vb, setelah Imports pernyataan tetapi sebelum namespace MyFirstVisualizer:

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. Pada menu Build , klik Build MyFirstVisualizer. Proyek diharapkan berhasil dibangun. Koreksi kesalahan build apa pun sebelum melanjutkan.

Membuat Test Harness

Pada titik ini, visualizer pertama Anda selesai. Jika Anda telah mengikuti langkah-langkah dengan benar, Anda dapat membangun visualizer dan menginstalnya ke Visual Studio. Namun, sebelum menginstal visualizer ke Visual Studio, Anda harus mengujinya untuk memastikan bahwa visualizer berjalan dengan benar. Sekarang Anda akan membuat kerangka uji untuk menjalankan visualizer tanpa menginstalnya ke dalam Visual Studio.

Untuk menambahkan metode pengujian untuk menampilkan visualizer

  1. Tambahkan metode berikut ke kelas public DebuggerSide:

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. Pada menu Build , klik Build MyFirstVisualizer. Proyek diharapkan berhasil dibangun. Koreksi kesalahan build apa pun sebelum melanjutkan.

    Selanjutnya, Anda harus membuat proyek yang dapat dieksekusi untuk memanggil DLL visualizer Anda. Untuk kesederhanaan, gunakan proyek aplikasi konsol.

Untuk menambahkan proyek aplikasi konsol ke solusi

  1. Di Penjelajah Solusi, klik kanan solusi, pilih Tambahkan, lalu klik Proyek Baru.

    Dalam kotak Pencarian, ketik visual basic, pilih Templat, lalu pilih Buat Aplikasi Konsol baru (.NET Framework). Dalam kotak dialog yang muncul, pilih Buat.

  2. Ketik nama yang sesuai untuk pustaka kelas, seperti MyTestConsole, lalu klik Buat atau OK.

    Sekarang, Anda harus menambahkan referensi yang diperlukan sehingga MyTestConsole dapat memanggil MyFirstVisualizer.

Untuk menambahkan referensi yang diperlukan ke MyTestConsole

  1. Di Penjelajah Solusi, klik kanan MyTestConsole, dan pada menu pintasan, klik Tambahkan Referensi.

  2. Dalam kotak dialog Tambahkan Referensi , pada tab Telusuri , klik Microsoft.VisualStudio.DebuggerVisualizers.

  3. Klik OK.

  4. Klik kanan MyTestConsole, lalu klik Tambahkan Referensi lagi.

  5. Dalam kotak dialog Tambahkan Referensi , klik tab Proyek , lalu pilih MyFirstVisualizer.

  6. Klik OK.

Selesaikan Test Harness Anda dan Uji Visualizer Anda

Sekarang, Anda akan menambahkan kode untuk menyelesaikan kerangka uji.

Untuk menambahkan kode ke MyTestConsole

  1. Di Penjelajah Solusi, klik kanan Program.vb, dan pada menu pintasan, klik Ganti Nama.

  2. Edit nama dari Module1.vb ke sesuatu yang sesuai, seperti TestConsole.vb.

    Perhatikan bahwa Visual Studio secara otomatis mengubah deklarasi kelas di TestConsole.vb agar sesuai dengan nama file baru.

  3. Di TestConsole. vb, tambahkan pernyataan berikut Imports :

    Imports MyFirstVisualizer
    
  4. Dalam metode Main, tambahkan kode berikut:

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

    Sekarang Anda siap untuk menguji visualizer pertama Anda.

Untuk menguji visualizer

  1. Di Penjelajah Solusi, klik kanan MyTestConsole, dan pada menu pintasan, klik Atur sebagai Proyek Startup.

  2. Pada menu Debug , klik Mulai.

    Aplikasi konsol dimulai. Visualizer muncul dan menampilkan string "Hello, World."

    Selamat. Anda baru saja membangun dan menguji visualizer pertama Anda.

    Jika Anda ingin menggunakan visualizer Anda di Visual Studio daripada sekadar memanggilnya dari test harness, Anda harus menginstalnya. Untuk informasi selengkapnya, lihat Cara: Menginstal Visualizer.