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 aşağıdakiler de dahil olmak üzere birkaç hedeflenen senaryo için daha hassas yardım sağlar:

  • Özel durumlar
  • Değişkenler
  • Kilitlenmeler
  • CPU Kullanımı için Otomatik İçgörüler

Bu senaryolarda hata ayıklarken yapay zeka yardımı almak için Copilot'a Copilot'a Sor düğmesinin ekran görüntüsü. Sorun düğmesini arayın. Bu senaryolarda Copilot, sorularınızın bağlamını zaten biliyordur. Örneğin, geçerli çağrı yığınını, sormakta olduğunuz kod satırını ve özel durumun adını (oluştuysa) bilir, bu nedenle sohbette bağlam 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.

Visual Studio'daki 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 gerekli olanlar:

Uygulamanızda hata ayıklamak için yapay zeka yardımı alma

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 Sohbetini Görüntüle'yi > seçerek ayrı Sohbet penceresini kullanma konusunda da yardım alabilirsiniz. Daha fazla bilgi için bkz . Visual Studio için GitHub Copilot Sohbet uzantısı nedir?.

Hata ayıklama oturumu başlatma

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

    Başlangıç penceresinde Yeni proje oluştur'u seçin. Arama kutusuna konsol yazın, dil olarak C# seçeneğini belirleyin ve ardından .NET için Konsol Uygulaması'nı seçin. İleri öğesini seçin. ConsoleApp_Copilot gibi bir proje adı yazın ve İleri'yi seçin.

    Önerilen hedef çerçeveyi veya .NET 8'i ve ardından Oluştur'u seçin.

    .NET için Konsol Uygulaması proje şablonunu görmüyorsanız Araçlar Araçları>ve Özellikleri Al'a gidin ve Visual Studio Yükleyicisi açılır. .NET masaüstü geliştirme iş yükünü ve ardından Değiştir'i seçin.

    Visual Studio, sağ bölmedeki Çözüm Gezgini görüntülenen 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'yi 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çin.

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

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

  5. Satır içi Sohbet görünümünü açmak için koda sağ tıklayın ve Copilot'a Sorun'u seçin.

    İpucu

    Alternatif olarak, Otomatikler veya Yereller penceresinde veya bir veri ipucunda bir değişkene sağ tıklayıp Copilot'a Sor'u 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 Sohbeti'nin ekran görüntüsü.

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

    Copilot'un soruyu yanıtlayan 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.

    İpucu

    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 listeden 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 bağımsız değişken geçirilmeyen olayı nasıl işleyebilirim?" sorusunu seçin.

    Copilot izleme 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 Et'i seçin.

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

Özel durum için yapay zeka yardımı alma

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şlatma

  • Aynı örnek uygulama kullanılarak hata ayıklayıcıda duraklatılırken, geçerli deyimi yürütmek için F11 veya Hata Ayıklama>Adımı'na basın.

    Bir IndexOutOfRangeException gerçekleşir ve uygulama duraklatılır ve özel durum 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 özel durumda duraklatıldığında Copilot'a Sor düğmesini seçin.

    Ö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 bir Ö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 ilgili yapay zeka yardımı 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ı tıklayarak kaldırın veya sağ tıklayıp Kesme Noktasını Sil'i seçin.

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

    names.Add("Major Major Major");
    

    şununla değiştirin:

    // names.Add("Major Major Major");
    foreach (var item in args)
    {
       names.Add("Name: " + item);
    }
    
  3. Deyimin solundanames.Add("Name: " + item), cilt payı içine sağ tıklayın ve Koşullu Kesme Noktası Ekle'yi seç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, gibi item == "John"birini seçin. Öneriyi, adı olacak Fredş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'da ConsoleApp_Copilot projesine sağ tıklayın ve Özellikler'i seçin.

    2. Hata Ayıklama>Genel>Hata Ayıklama başlatma profilleri kullanıcı arabirimi'ne tıklayın.

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

      Proje için komut satırı bağımsız değişkenlerini girme işleminin 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 değerini item denetleyin ve geçerli değerin olduğunu Freddoğrulayın.

Otomatik içgörüler için yapay zeka yardımı alma

Etkileşimli hata ayıklama yardımının yanı sıra Copilot, CPU Kullanımı Otomatik İçgörüleri'nde ayrıntılı bilgiler sağlar. Belirli performans içgörüleri kümesiyle ilgili bilgiler ve içgörüler sağlar. Copilot ile kodunuzda tanımlanan sık erişimli yollardaki işlevler hakkında sorular sorun. Bu, daha verimli veya uygun maliyetli kod oluşturmanıza yardımcı olabilir.

Belirli bir performans içgörüleri tanımlanmasa bile Copilot'a Sorun düğmesi görüntülenir. Copilot'tan öğrenmek ve soru sormaya başlamak için Copilot'a sorun'ı seçin.

CPU Kullanımı ile Copilot kullanma animasyonu.