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 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:
Visual Studio 2022 sürüm 17.8 veya üzeri
Kişiler için GitHub Copilot veya İş için GitHub Copilot'a etkin abonelik
-
Not
Uzantıyı yükledikten sonra kimlik doğrulaması sorunlarıyla karşılaşıyorsanız bkz . GitHub Copilot Sohbeti ile ilgili kimlik doğrulama sorunlarını giderme.
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
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.
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"); } }
Aşağıdaki deyime sağ tıklayın ve Kesme Noktası Kesme Noktası> Ekle'yi seçin.
int value = Int32.Parse(args[0]);
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.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.
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]?
Enter tuşuna bastığınızda, Copilot kodunuzu anlayarak bir yanıt sağlar. (Burada gösterilenden farklı bir yanıt alabilirsiniz.)
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.
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, kodunuz için önerilen bir düzeltmeyi gösterir.
Kod düzeltmesini uygulamak istiyorsanız Kabul Et'i seçin.
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
Uygulama özel durumda duraklatıldığında Copilot'a Sor düğmesini seçin.
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.
Önizleme düğmesini seçin.
Visual Studio, önerilen düzeltmeyi içeren bir kod önizlemesi gösterir.
Önerilen düzeltmeyi gözden geçirin ve kod önerisini uygulamak için Kabul Et'i seçin.
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.
Geçerli kesme noktasını tıklayarak kaldırın veya sağ tıklayıp Kesme Noktasını Sil'i seçin.
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); }
Deyimin solunda
names.Add("Name: " + item)
, cilt payı içine sağ tıklayın ve Koşullu Kesme Noktası Ekle'yi seçin.İfade alanını seçtiğinizde Copilot öneriler üzerinde çalışmaya başlar.
Öneriler görüntülendiğinde, gibi
item == "John"
birini seçin. Öneriyi, adı olacakFred
şekilde düzenleyin.Koşullu ifadeyi test etmek için:
Çözüm Gezgini'da ConsoleApp_Copilot projesine sağ tıklayın ve Özellikler'i seçin.
Hata Ayıklama>Genel>Hata Ayıklama başlatma profilleri kullanıcı arabirimi'ne tıklayın.
Komut satırı bağımsız değişkenleri alanına üç ayrı satıra girin
5 Fred Joe
.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ğunuFred
doğ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.