Aracılığıyla paylaş


Visual Studio'da GitHub Copilot ile uygulamanızda hata ayıklama

Bu makalede GitHub Copilot kullanarak daha verimli bir şekilde hata ayıklamayı öğreneceksiniz. Copilot, kodun nasıl çalıştığına ilişkin ayrıntılı analiz ve açıklamaların yanı sıra kod düzeltmeleri sağlayabilir. Hatalar için önerilen düzeltmelere yardımcı olur ve özel durumlar gibi şeyleri açıklar. Copilot çağrı yığınlarını, çerçeveleri, değişken adlarını ve değerleri anlar. Sonuç olarak, kodunuzla ilgili ayrıntılı sorular sormak ve genel olarak hata ayıklama sorunları için hata ayıklayıcı kullanan yapay zeka ile etkileşim kurabilirsiniz.

Buna ek olarak, Copilot Özel Durumlar gibi bazı hedeflenen senaryolar ve hata ayıklama için yapay zeka ile geliştirilmişsenaryolarda açıklanan tüm senaryolar için daha hassas yardım sağlar. Çoğu durumda, Copilot'a Sor düğmesinin ekran görüntüsünü arayın. düğmesi. Bu senaryolarda Copilot, sorularınızın bağlamını zaten biliyordur.

Visual Studio'da GitHub Copilot Tamamlamaları hakkında daha fazla bilgi için bkz. Visual Studio 'da GitHub Copilot Tamamlamaları Hakkında.

Önkoşullar

Başlamak için şunları yapmanız gerekir:

Copilot kullanarak hata ayıklama

Aşağıdaki basit örnekte, satır içi Sohbet görünümünü kullanarak yapay zeka yardımı alma gösterilmektedir.

Not

GitHub Copilot Chat sohbet penceresini ayrı olarak kullanarak yardım almak için > Görüntüleseçeneğini seçebilirsiniz. Daha fazla bilgi için bkz. Visual Studio için GitHub Copilot Sohbet uzantısı nedir?.

Hata ayıklama oturumu başlat

  1. Visual Studio'da yeni bir C# Konsol uygulaması oluşturun.

    Başlangıç penceresinde yeni proje oluştur seçin. Arama kutusuna konsol yazın, dil olarak C# seçin ve ardından .NET için Konsol Uygulaması seçin. Sonrakiseçin. ConsoleApp_Copilot gibi bir proje adı yazın ve İleriseçin.

    Önerilen hedef çerçeveyi veya .NET 8'i seçin ve ardından oluştur seçeneğini seçin.

    .NET için Konsol Uygulaması proje şablonunu görmüyorsanız, Visual Studio Yükleyicisi'ni açan Araçları>Araç ve Özellik Alsayfasına gidin. .NET masaüstü geliştirme iş yükünü seçin, ardından Değiştir'etıklayın.

    Visual Studio, sağ bölmedeki Çözüm Gezgini içinde görünen konsol projesini oluşturur.

  2. Program.cs içindeki kodu aşağıdaki kodla değiştirin:

    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. Aşağıdaki deyime sağ tıklayın ve kesme noktası>Kesme Noktası Ekleöğesini seçin.

    int value = Int32.Parse(args[0]);
    
  4. F5 tuşuna basın veya Hata Ayıklama menüsünden Hata Ayıklamayı Başlat seçeneğini seçin.

    Uygulama kesme noktasında duraklatılır. Otomatikler penceresi, args değişkeninin string[0]değerine sahip olduğunu gösterir.

    Otomatikler penceresinin ekran görüntüsü.

  5. Koda sağ tıklayın ve satır içi Sohbet görünümünü açmak için Copilot'a sor seçeneğini seçin.

    Bahşiş

    Alternatif olarak, Otomatikler veya YerelLer penceresinde veya bir veri ipucunda bir değişkene sağ tıklayabilir ve Copilot'a sor seçebilirsiniz. Bu, Copilot'a değişken adını ve bağlamını sağlar, bu nedenle sohbette bağlamı kendiniz sağlamanız gerekmez.

  6. Satır içi Sohbet görünümüne aşağıdaki soruyu yazın:

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

    Satır içi Copilot Sohbetinin ekran görüntüsü.

    enter bastığınızda Copilot, kodunuzu anlayarak bir yanıt sağlar. (Burada gösterilenden farklı bir yanıt alabilirsiniz.)

    Copilot'un yanıtlayan sorusunun ekran görüntüsü.

    Copilot'un kodunuz için önerilen bir düzeltmesi varsa, size gösterilir. Aksi takdirde Copilot'dan bir kod önerisi isteyebilirsiniz.

    Bahşiş

    Satır içi Sohbet'te "#" simgesini kullanın ve sorunuzda başvuruda bulunurken belirli bilgileri Copilot'a teslim etmek için açılan listeden seçim yapın. Örneğin, kodun bir bölümünü seçip #yazarsanız, # açılan listesinden bu seçimi seçebilirsiniz. "#" simgesini, yerel ayarlar penceresi gibi açılan listede görünen IDE özelliklerine başvurmak için de kullanabilirsiniz.

  7. Bu örnekte, Copilot yanıtının sonuna kadar kaydırın ve satır içi sohbet penceresinin sonundaki "Programa hiç parametre geçirilmeyen durumu nasıl yönetebilirim?" sorusunu seçin.

    Copilot takip sorusunun ekran görüntüsü.

    Copilot, kodunuz için önerilen bir düzeltmeyi gösterir.

    Copilot tarafından önerilen düzeltmenin ekran görüntüsü.

    Kod düzeltmesini uygulamak istiyorsanız Kabul Etseçin.

  8. Sonraki bölümde Copilot'un diğer özelliklerini öğrenmeye devam edebilmemiz için İptal Et'i seçin.

Copilot ile bir istisnayı hata ayıklama

Aşağıdaki basit örnekte bir özel durumla karşılaştığınızda yapay zeka yardımı alma ve yapay zeka tarafından önerilen düzeltmelere göre kodunuzu hızla güncelleştirme adımları gösterilmektedir.

Hata ayıklama oturumu başlat

  • Aynı örnek uygulamayı kullanarak hata ayıklayıcıda duraklatıldığında, geçerli deyimi yürütmek için F11 tuşuna basın veya Hata Ayıklama >Adımla seçeneğine tıklayın.

    Bir IndexOutOfRangeException oluşur ve uygulama duraklatılarak istisna gösterilir.

    Özel durum için yapay zeka yardımı almak için sonraki bölüme geçin.

Yapay zeka yardımı isteyin

  1. Uygulama bir istisna üzerinde duraklatıldığında, Copilot'a Sor düğmesini seçin.

    Bir özel durumda Copilot'a Sor düğmesinin ekran görüntüsü.

    Henüz açık değilse Copilot Sohbet penceresi görüntülenir ve hatanın ve neden oluştuğunun bir değerlendirmesini sağlar. Bu örnekte Copilot önerilen bir kod düzeltmesi, kodu kopyalamak için bir düğme ve kod düzeltmesi için Önizleme düğmesi tanımlar.

    Özel durumla ilgili sorularınız varsa Bunları Copilot'a Sorun metin kutusunda sorun.

  2. Önizleme düğmesini seçin.

    Copilot Sohbet penceresinde Önizleme düğmesinin ekran görüntüsü.

    Visual Studio, önerilen düzeltmeyi içeren bir kod önizlemesi gösterir.

  3. Önerilen düzeltmeyi gözden geçirin ve kod önerisini uygulamak için Kabul Et'i seçin.

    Visual Studio'da kod önizlemesinin ekran görüntüsü.

  4. Hata ayıklayıcıyı yeniden başlatın.

    Bu kez özel durum oluşmaz. Düzeltildi!

Koşullu kesme noktaları ve izleme noktalarıyla öneriler alma

Copilot, kodunuza özgü koşullu kesme noktaları ve izleme noktaları için öneriler sunar.

Bu örnekte, koşullu kesme noktası için yapay zeka önerileri göstereceğiz. İzleme noktaları için yapay zeka yardımı aynı şekilde çalışır.

  1. Geçerli kesme noktasını kaldırmak için üzerine tıklayın veya sağ tıklayıp Kesme Noktasını Silseçin.

  2. Aşağıdaki kod satırını değiştirin:

    names.Add("Major Major Major");
    

    bununla:

    // names.Add("Major Major Major");
    foreach (var item in args)
    {
       names.Add("Name: " + item);
    }
    
  3. names.Add("Name: " + item) deyiminin solundaki kenar boşluğuna sağ tıklayın ve Koşullu Kesme Noktası Ekleseçin.

  4. İfade alanını seçtiğinizde Copilot öneriler üzerinde çalışmaya başlar.

    Koşullu kesme noktası önerileri üzerinde çalışan Copilot'un ekran görüntüsü.

  5. Öneriler görüntülendiğinde item == "John"gibi birini seçin. Öneriyi, adın Fredolacak şekilde düzenleyin.

    Koşullu kesme noktası için Copilot önerisinin ekran görüntüsü.

  6. Koşullu ifadeyi test etmek için:

    1. Çözüm Gezgini'nde ConsoleApp_Copilot projesine sağ tıklayın ve Özellikleröğesini seçin.

    2. Hata Ayıklama>Genel>Hata ayıklama başlatma profilleri kullanıcı arayüzünü açseçin.

    3. Komut satırı bağımsız değişkenleri alanına üç ayrı satıra 5 Fred Joegirin.

      Proje için komut satırı bağımsız değişkenlerini girme ekran görüntüsü.

    4. Hata ayıklayıcıyı yeniden başlatın.

    Hata ayıklayıcı kesme noktasında duraklatıldığında, item değerini denetleyin ve geçerli değerin Fredolduğunu doğrulayın.

Yapay zeka ile geliştirilmiş senaryolar

Copilot çağrı yığınlarını, çerçeveleri, değişken adlarını ve değerleri anlar. Sonuç olarak, kodunuzla ilgili ayrıntılı sorular sormak ve genel olarak hata ayıklama sorunları için hata ayıklayıcı kullanan yapay zeka ile etkileşim kurabilirsiniz.

Buna ek olarak, Copilot aşağıdaki tabloda açıklananlar gibi bazı hedeflenen senaryolar için daha hassas yardım sağlar.

Özellik veya senaryo Bağlantı
Özel durum Bu makalede ve numaralı Copilot ile bir istisnayı ayıklamayı görün. İstisnalarla ilgili yardım, kilitlenme algılama hatalarıyla ilgili yardım içerir.
Değişken Bu makaledeki Copilot kullanarak Hata Ayıklama bölümüne bakın.
Veri ipuçları Yapay zeka yardımı almak için veri ipuçlarıbakın.
Koşullu kesme noktaları ve izleme noktaları Bu makalede koşullu kesme noktaları ve izleme noktalarıyla ilgili öneriler alma konusunda bakın.
Hızlı İşlemler (ampul) Bakın, Hızlı İşlemlerile yapay zeka yardımı alın.
IEnumerable tablo görselleştiricisi Bkz. görselleştirici ifadesini değiştirme.
Satır içi dönüş değerleri bkz. yöntem çağrılarının dönüş değerlerini görüntüleme.
Özet başlık açıklamaları Bakınız İş Parçacıkları Görünümü (Paralel Yığınlar).
Profil oluşturma için otomatik içgörüler Otomatik içgörüler ile yapay zeka yardımı alın. Bkz.

Bu senaryoların çoğunda, Copilot'a Sor düğmesinin ekran görüntüsünü alarak hedeflenen yardım alırsınız. düğmesi. Copilot, sorularınızın bağlamını zaten biliyor. Örneğin, geçerli çağrı yığınını, sormakta olduğunuz kod satırını ve özel durumun adını (varsa) bilir, bu nedenle sohbette bağlamı kendiniz sağlamanız gerekmez. Copilot ayrıca koşullu kesme noktalarının ve izleme noktalarının kullanımına yönelik öneriler sağlar.