Bagikan melalui


Men-debug aplikasi Anda dengan GitHub Copilot di Visual Studio

Dalam artikel ini, Anda akan mempelajari cara men-debug dengan lebih efisien menggunakan GitHub Copilot. Copilot dapat memberikan perbaikan kode bersama dengan analisis mendalam dan penjelasan tentang cara kerja kode. Ini membantu dengan usulan perbaikan pada bug, dan menjelaskan hal-hal seperti pengecualian. Copilot memahami tumpukan panggilan, kerangka, nama variabel, dan nilai. Akibatnya, Anda dapat berinteraksi dengan AI sadar debugger untuk mengajukan pertanyaan terperinci yang terkait dengan kode Anda dan untuk men-debug masalah secara umum.

Selain itu, Copilot memberikan bantuan yang lebih tepat untuk beberapa skenario khusus, seperti skenario Pengecualian, dan semua yang telah dijelaskan dalam skenario penelusuran kesalahan yang ditingkatkan oleh AI. Dalam sebagian besar skenario ini, cari Tanya CopilotCuplikan layar tombol Tanya Copilot. tombol. Dalam skenario ini, Copilot sudah mengetahui konteks untuk pertanyaan Anda.

Untuk informasi selengkapnya tentang Sugesti Penyelesaian Kode GitHub di Visual Studio, lihat Tentang Sugesti Penyelesaian Kode GitHub di Visual Studio.

Prasyarat

Untuk memulai, Anda memerlukan:

Skenario yang disempurnakan AI

Copilot memahami tumpukan panggilan, kerangka, nama variabel, dan nilai. Akibatnya, Anda dapat berinteraksi dengan AI sadar debugger untuk mengajukan pertanyaan terperinci yang terkait dengan kode Anda dan untuk men-debug masalah secara umum.

Selain itu, Copilot memberikan bantuan yang lebih tepat untuk beberapa skenario yang ditargetkan, seperti yang dijelaskan dalam tabel berikut.

Fitur atau skenario Tautan
Pengecualian Lihat Debug pengecualian dengan Copilot di artikel ini. Bantuan terkait pengecualian mencakup bantuan terkait kesalahan deteksi kebuntuan.
Variabel Lihat Mendapatkan bantuan AI.
Analisis kueri LINQ Arahkan mouse ke atas kueri LINQ saat menelusuri kesalahan di editor kode untuk melihat nilai yang dikembalikan. Pilih tombol Analisis dengan Copilot untuk bantuan AI. Lihat Menampilkan nilai pengembalian kueri LINQ.
Kiat data Lihat Dapatkan bantuan AI dengan Tips Data.
Titik henti kondisional dan titik pelacakan Lihat Dapatkan saran dengan titik henti bersyarat dan titik pelacakan dalam artikel ini.
Tindakan Cepat (bola lampu) Lihat Mendapatkan bantuan AI dengan Tindakan Cepat.
Visualizer IEnumerable tabular Lihat Mendapatkan bantuan AI.
Nilai pengembalian dalam baris Lihat Menampilkan nilai pengembalian panggilan metode.
Nilai sebaris Lihat Menampilkan nilai sebaris.
Debugging multithreaded Lihat Mendapatkan bantuan AI dengan tampilan Utas.
Pengujian unit Lihat Mendapatkan bantuan AI untuk men-debug pengujian
Memeriksa pengecualian dengan konteks repositori Lihat Mendapatkan bantuan AI dengan konteks repositori
Pemecahan Masalah Titik Jeda Lihat Mendapatkan bantuan AI.

Dalam sebagian besar skenario ini, Anda mendapatkan bantuan yang ditargetkan dengan menggunakan atau Screenshot of Ask Copilot button.Tombol Analisis dengan Copilot. Copilot sudah mengetahui konteks untuk pertanyaan Anda. Misalnya, ia mengetahui tumpukan panggilan saat ini, baris kode yang Anda tanyakan, dan nama pengecualian (jika terjadi), sehingga Anda tidak perlu memberikan konteks sendiri dalam obrolan. Copilot juga memberikan saran untuk penggunaan titik henti dan titik pelacakan bersyarat.

Debug menggunakan Copilot

Contoh sederhana berikut menunjukkan cara mendapatkan bantuan AI menggunakan tampilan Obrolan sebaris.

Nota

Anda juga bisa mendapatkan bantuan menggunakan jendela Obrolan terpisah dengan memilih Lihat > GitHub Copilot Chat. Untuk informasi selengkapnya, lihat Apa itu ekstensi GitHub Copilot Chat untuk Visual Studio?.

Memulai sesi debug

  1. Di Visual Studio, buat aplikasi Konsol C# baru.

    Pada jendela mulai, pilih Buat proyek baru. Ketik konsol di kotak pencarian, pilih C# sebagai bahasa, lalu pilih Console App untuk .NET. Pilih Berikutnya. Ketik nama proyek seperti ConsoleApp_Copilot dan pilih Berikutnya.

    Pilih kerangka kerja target yang direkomendasikan atau .NET 8, lalu pilih Buat.

    Jika Anda tidak melihat templat proyek Aplikasi Konsol untuk .NET, buka alat >Dapatkan Alat dan Fitur, yang membuka Alat Penginstal Visual Studio. Pilih beban kerja pengembangan desktop .NET, lalu pilih Ubah.

    Visual Studio membuat proyek konsol, yang muncul di Penjelajah Solusi di panel kanan.

  2. Ganti kode di Program.cs dengan kode berikut:

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
        public static void Main(string[] args)
        {
            int value = Int32.Parse(args[0]);
            List<String> names = null;
            if (value > 0)
                names = new List<String>();
    
            names.Add("Major Major Major");
        }
    }
    
  3. Klik kanan pernyataan berikut dan pilih Titik Henti >Sisipkan Titik Henti.

    int value = Int32.Parse(args[0]);
    
  4. Tekan F5 atau pilih Mulai Debugging dari menu Debug.

    Aplikasi berhenti sejenak di titik henti. Jendela Otomatis menunjukkan bahwa variabel args memiliki nilai string[0].

    Cuplikan layar jendela Otomatis.

  5. Klik kanan dalam kode dan pilih Minta Copilot untuk membuka tampilan obrolan langsung.

    Saran

    Atau, Anda dapat mengklik kanan variabel di jendela Autos atau Locals, atau di tip data, dan memilih Tanya Copilot. Ini menyediakan Copilot dengan nama variabel dan konteks, sehingga Anda tidak perlu memberikan konteks sendiri dalam obrolan.

  6. Ketik pertanyaan berikut dalam tampilan Obrolan sebaris:

    Why does the args variable have a value of string[0]?
    

    Cuplikan layar Copilot Chat Sebaris.

    Saat Anda menekan Enter, Copilot memberikan jawaban berdasarkan pemahamannya tentang kode Anda. (Anda mungkin mendapatkan respons yang berbeda dari apa yang ditunjukkan di sini.)

    Cuplikan layar Pertanyaan yang dijawab Copilot.

    Jika Copilot memiliki perbaikan yang disarankan untuk kode Anda, akan ditampilkan kepada Anda. Jika tidak, Anda dapat meminta Copilot untuk rekomendasi kode.

    Saran

    Dalam Chat sebaris, gunakan simbol "#" dan pilih dari daftar drop-down untuk menyampaikan informasi tertentu ke Copilot saat Anda merujuknya dalam pertanyaan Anda. Misalnya, jika Anda memilih sebagian kode, lalu mengetik #, Anda dapat memilih pilihan tersebut dari daftar drop-down #. Anda juga dapat menggunakan simbol "#" untuk mereferensikan fitur IDE yang muncul di daftar drop-down, seperti jendela Lokal.

  7. Dalam contoh ini, gulir ke akhir jawaban Copilot dan pilih pertanyaan tindak lanjut di akhir jendela Obrolan sebaris, "Bagaimana cara menangani kasus ketika tidak ada argumen yang diteruskan ke program?"

    Cuplikan layar pertanyaan tindak lanjut Copilot.

    Copilot menunjukkan perbaikan yang disarankan untuk kode Anda.

    Cuplikan layar perbaikan yang disarankan Copilot.

    Jika Anda ingin menerapkan perbaikan kode, pilih Terima.

  8. Pilih Batalkan sehingga kami dapat terus mempelajari fitur Copilot lainnya di bagian berikutnya.

Memecahkan masalah kesalahan dengan Copilot

Contoh sederhana berikut menunjukkan cara mendapatkan bantuan AI saat Anda menemukan pengecualian dan cara memperbarui kode Anda dengan cepat berdasarkan perbaikan yang disarankan AI.

Memulai sesi debug

  • Saat dijeda di debugger menggunakan aplikasi sampel yang sama, tekan F11 atau Debug>Masuk untuk menjalankan pernyataan saat ini.

    IndexOutOfRangeException muncul dan aplikasi berhenti sementara, memperlihatkan pengecualian.

    Untuk mendapatkan bantuan AI untuk pengecualian, lanjutkan ke bagian berikutnya.

Minta bantuan AI

  1. Dengan aplikasi dijeda saat terjadi pengecualian, pilih tombol Ask Copilot.

    Cuplikan layar tombol Ask Copilot dalam pengecualian.

    Jika belum dibuka, jendela Obrolan Copilot muncul dan memberikan penilaian atas kesalahan tersebut dan mengapa hal itu terjadi. Dalam contoh ini, Copilot mengidentifikasi perbaikan kode yang disarankan, tombol untuk menyalin kode, dan tombol Pratinjau untuk perbaikan kode.

    Jika Anda memiliki pertanyaan tentang pengecualian, tanyakan pada kotak teks Tanya Copilot.

  2. Pilih tombol Pratinjau.

    Cuplikan layar tombol Pratinjau di jendela Obrolan Copilot.

    Visual Studio menampilkan pratinjau kode dengan perbaikan yang disarankan.

  3. Tinjau perbaikan yang disarankan dan pilih Terima untuk menerapkan saran kode.

    Cuplikan layar pratinjau kode di Visual Studio.

  4. Mulai ulang debugger.

    Kali ini, tidak ada pengecualian yang terjadi. Sudah diperbaiki!

Dapatkan saran dengan titik henti bersyarat dan titik pelacakan bersyarat

Copilot memberi Anda saran untuk titik henti bersyarat dan titik pelacakan yang khusus untuk kode Anda.

Dalam contoh ini, kami menunjukkan saran AI untuk titik henti bersyarat. Untuk titik jejak, bantuan AI bekerja dengan cara yang sama.

  1. Hapus titik henti saat ini dengan mengkliknya atau klik kanan dan pilih Hapus Titik Henti.

  2. Ganti baris kode berikut:

    names.Add("Major Major Major");
    

    dengan ini:

    // names.Add("Major Major Major");
    foreach (var item in args)
    {
       names.Add("Name: " + item);
    }
    
  3. Di sebelah kiri pernyataan names.Add("Name: " + item), klik kanan di tepi editor dan pilih Sisipkan Titik Henti Bersyarat.

  4. Pilih bidang ekspresi dan Copilot mulai mengerjakan saran.

    Cuplikan layar Copilot yang sedang memberikan saran untuk titik pemutusan bersyarat.

  5. Saat saran muncul, pilih saran seperti item == "John". Sunting usulan agar namanya Fred.

    Cuplikan layar saran Copilot untuk titik henti bersyarat.

  6. Untuk menguji ekspresi kondisional.

    1. Klik kanan proyek ConsoleApp_Copilot di Penjelajah Solusi dan pilih properti .

    2. Pilih Debug>General>Buka antarmuka profil peluncuran debug.

    3. Di bidang argumen baris perintah , masukkan 5 Fred Joepada tiga baris terpisah.

      Tangkapan layar saat memasukkan argumen baris perintah ke dalam proyek.

    4. Mulai ulang debugger.

    Saat debugger berhenti sejenak di titik henti, periksa nilai item dan verifikasi bahwa nilai saat ini Fred.