Megosztás a következőn keresztül:


Az alkalmazás hibakeresése a GitHub Copilottal a Visual Studióban

Ebben a cikkben megtudhatja, hogyan végezhet hatékonyabb hibakeresést a GitHub Copilot használatával. A Copilot részletes elemzéssel és a kód működésével kapcsolatos magyarázatokkal is elláthatja a kódjavításokat. Segít a hibák javasolt javításában, és elmagyarázza az olyan dolgokat, mint a kivételek. A Copilot ismeri a hívásveremeket, a kereteket, a változóneveket és az értékeket. Ennek eredményeképpen a hibakeresővel tisztában lévő mesterséges intelligenciával együttműködve részletes kérdéseket tehet fel a kóddal és általában a hibakeresési problémákkal kapcsolatban.

Emellett a Copilot pontosabb segítséget nyújt bizonyos célzott forgatókönyvekhez, például kivételekhez, valamint a mesterséges intelligenciával bővített forgatókönyvekben leírtakhoz ahibakereséséhez. A legtöbb ilyen forgatókönyvben keresse meg az Ask Copilotgomb képernyőképét. gomb. Ezekben a forgatókönyvekben a Copilot már ismeri a kérdések kontextusát.

További információkért a Visual Studio-ban található GitHub Copilot kiegészítésekről lásd: A Visual Studio GitHub Copilot kiegészítései.

Előfeltételek

Az első lépésekhez a következőkre van szüksége:

AI-továbbfejlesztett forgatókönyvek

A Copilot ismeri a hívásveremeket, a kereteket, a változóneveket és az értékeket. Ennek eredményeképpen a hibakeresővel tisztában lévő mesterséges intelligenciával együttműködve részletes kérdéseket tehet fel a kóddal és általában a hibakeresési problémákkal kapcsolatban.

Emellett a Copilot pontosabb segítséget nyújt bizonyos célzott forgatókönyvekhez, például az alábbi táblázatban ismertetettekhez.

Funkció vagy forgatókönyv Hivatkozás
Kivételek Ebben a cikkben lásd a(z) részben a Copilot kivétel hibakeresését. A kivételekkel kapcsolatos súgó tartalmazza a holtpont észlelési hibáival kapcsolatos súgót.
Változók Lásd: AI-segítség kérése.
LINQ-lekérdezéselemzés Vigye az egérmutatót a LINQ-lekérdezések fölé, miközben hibakeresést végzett a kódszerkesztőben a visszatérési érték megtekintéséhez. Az AI-támogatáshoz válassza az Elemzés a Copilottal gombot. Lásd: LINQ-lekérdezések visszatérési értékeinek megtekintése.
Adattippek Tekintse meg az AI-segítséget az adattippekkel kapcsolatban.
Feltételes töréspontok és nyomkövetési pontok Lásd ebben a cikkben a javaslatok megtekintése feltételes töréspontokkal és nyomkövetési pontokkal részt.
Gyorsműveletek (villanykörte) Lásd: Kérjen AI-segítséget a gyorsműveletekhez.
IEnumerable táblázatos vizualizáció Lásd: AI-segítség kérése.
Sorba illesztett visszaadott értékek Lásd: Metódushívások visszatérési értékeinek megtekintése.
Beágyazott értékek Lásd Beágyazott értékek megtekintése.
Többszálas hibakeresés Lásd: AI-segítség kérése a Szálak nézethez.
Egységtesztelés Lásd: AI-segítség kérése a tesztek hibakereséséhez
Kivételek vizsgálata adattárkörnyezettel Lásd: AI-segítség kérése adattárkörnyezettel
Töréspontok hibaelhárítása Lásd: AI-segítség kérése.

A legtöbb ilyen forgatókönyvben célzott segítséget kaphat az Ask Copilotscreenshot of Ask Copilot (A Copilot kérése) gomb vagyaz Elemzés a Copilot gombbal. A Copilot már ismeri a kérdések kontextusát. Ismeri például az aktuális hívási vermet, a kért kódsort és a kivétel nevét (ha történt), így nem kell saját kontextust megadnia a csevegésben. A Copilot emellett javaslatokat is kínál a feltételes töréspontok és nyomkövetési pontok használatára.

Hibakeresés a Copilot használatával

Az alábbi egyszerű példa bemutatja, hogyan kérhet AI-segítséget a beágyazott csevegési nézettel.

Jegyzet

A különálló csevegőablakot is használhatja segítség kérésére, ha kiválasztja a Nézet > GitHub Copilot Chatlehetőséget. További információért lásd: Mi is az a GitHub Copilot Chat bővítmény a Visual Studio számára?.

Hibakeresési munkamenet indítása

  1. A Visual Studióban hozzon létre egy új C#-konzolalkalmazást.

    A kezdési ablakban válassza az Új projekt létrehozásalehetőséget. Írja be konzol a keresőmezőbe, válassza C# nyelvként, majd válassza a .NET-hez készült Konzolalkalmazás lehetőséget. Válassza a Következőlehetőséget. Írjon be egy projektnevet, például ConsoleApp_Copilot, és válassza Következőlehetőséget.

    Válassza ki az ajánlott cél keretrendszert vagy a .NET 8-at, majd válassza a Létrehozáslehetőséget.

    Ha nem látja a .NET-hez készült Konzolalkalmazás projektsablont, lépjen Eszközök>Eszközök és szolgáltatások lekéréseelemre, amely megnyitja a Visual Studio Installert. Válassza a .NET asztali fejlesztés munka terhelését, majd válassza a Módosítás lehetőséget.

    A Visual Studio létrehozza a konzolprojektet, amely a jobb oldali panelen Megoldáskezelő jelenik meg.

  2. Cserélje le a Program.cs kódját a következő kódra:

    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. Kattintson a jobb gombbal a következő utasításra, és válassza a Töréspont>Töréspont beszúrásalehetőséget.

    int value = Int32.Parse(args[0]);
    
  4. Nyomja le F5, vagy válassza Hibakeresés indítása lehetőséget a Hibakeresés menüből.

    Az alkalmazás szünetel a töréspontnál. Az Autos ablak azt mutatja, hogy az args változó értéke string[0].

    Automatikus ablak képernyőképe.

  5. Kattintson a jobb gombbal a kódra, és válassza az Copilot kérése opciót a beépített csevegési nézet megnyitásához.

    Tipp

    Másik lehetőségként kattintson a jobb gombbal egy változóra az Automatikusak vagy a Helyiek ablakban, vagy egy adattippben, és válassza A Copilot kéréselehetőséget. Ez biztosítja a Copilot számára a változó nevét és környezetét, így önnek nem kell saját kontextust megadnia a csevegésben.

  6. Írja be a következő kérdést a beágyazott csevegési nézetben:

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

    Copilot Chat beágyazott képernyőképe.

    Az Enterbillentyű lenyomásakor a Copilot választ ad a kód ismerete alapján. (Előfordulhat, hogy az itt láthatótól eltérő választ kap.)

    A Copilot által megválaszolt kérdés képernyőképe.

    Ha a Copilot rendelkezik a kódhoz javasolt javítással, az megjelenik. Ha nem, kérheti a Copilottól a kódjavaslatot.

    Tipp

    A beágyazott csevegés során használja a "#" szimbólumot, és válasszon a legördülő listából, hogy specifikus információkat oszthasson meg a Copilot-tal, miközben a kérdésben hivatkozik rá. Ha például kiválaszt egy részt a kódból, és ezután beírja a # jelet, akkor ezt a kijelölést kiválaszthatja a # legördülő listából. A "#" szimbólummal hivatkozhat a legördülő listában megjelenő IDE-funkciókra, például a Helyiek ablakra.

  7. Ebben a példában görgessen a Copilot-válasz végéhez, és válassza ki a következő kérdést a beágyazott csevegés ablakának végén: "Hogyan kezelhetem az esetet, ha nem adnak át argumentumokat a programnak?"

    A Copilot nyomon követési kérdésének képernyőképe.

    A Copilot a kód javasolt javítását jeleníti meg.

    A Copilot által javasolt javítás képernyőképe.

    Ha alkalmazni szeretné a kódjavítást, válassza az Elfogadáslehetőséget.

  8. Válassza a Mégse lehetőséget, hogy a következő szakaszban tovább tanulhassuk a Copilot egyéb funkcióit.

Kivétel hibakeresése a Copilottal

Az alábbi egyszerű példa bemutatja, hogyan kérhet AI-segítséget, ha kivételt tapasztal, és hogyan frissítheti a kódot az AI által javasolt javítások alapján.

Hibakeresési munkamenet indítása

  • Szüneteltetéskor a hibakeresőben ugyanazzal a mintaalkalmazással nyomja meg az F11 vagy a Hibakeresés>Lépés bele gombot az aktuális utasítás végrehajtásához.

    Egy IndexOutOfRangeException történik, és az alkalmazás szünetel, megjelenítve a kivételt.

    Ha AI-segítséget szeretne kérni a kivételhez, folytassa a következő szakaszsal.

AI-segítség kérése

  1. Ha az alkalmazás megállt egy kivétel miatt, válassza a Copilot kérése gombot.

    A Copilot kérése gomb képernyőképe kivétel esetén.

    Ha még nincs megnyitva, megjelenik a Copilot Csevegés ablaka, amely kiértékeli a hibát és annak okát. Ebben a példában a Copilot azonosítja a javasolt kódjavítást, a kód másolására szolgáló gombot, valamint a kódjavításhoz tartozó Előnézet gombot.

    Ha kérdése van a kivétellel kapcsolatban, tegye fel őket az Ask Copilot szövegmezőben.

  2. Válassza a Előnézet gombot.

    Képernyőkép a Copilot Csevegőablak Előnézet gombjáról.

    A Visual Studio egy kódelőnézetet jelenít meg a javasolt javítással.

  3. Tekintse át a javasolt javítást, és válassza az Elfogadás lehetőséget a kódjavaslat alkalmazásához.

    A Visual Studio kódelőnézetének képernyőképe.

  4. Indítsa újra a hibakeresőt.

    Ezúttal nem történik kivétel. Kijavítottuk!

Javaslatok lekérése feltételes töréspontok és nyomkövetési pontok használatával

A Copilot javaslatokat nyújt a te kódodhoz kapcsolódó feltételes töréspontokra és nyomkövetési pontokra.

Ebben a példában a feltételes töréspontra vonatkozó AI-javaslatokat mutatunk be. A nyomkövetési pontok esetében az AI-támogatás ugyanúgy működik.

  1. Az aktuális töréspont eltávolításához kattintson rá, vagy kattintson rá a jobb gombbal, és válassza a Töréspont törléselehetőséget.

  2. Cserélje le a következő kódsort:

    names.Add("Major Major Major");
    

    a következővel:

    // names.Add("Major Major Major");
    foreach (var item in args)
    {
       names.Add("Name: " + item);
    }
    
  3. A(z) names.Add("Name: " + item) utasítástól balra kattintson a jobb gombbal a margóra, és válassza a(z) Feltételes töréspont beszúrásalehetőséget.

  4. Jelölje ki a kifejezésmezőt, és a Copilot elkezdi a javaslatokon dolgozni.

    A Copilot feltételes töréspont-javaslatokon végzett munka képernyőképe.

  5. Amikor megjelennek a javaslatok, válasszon egyet, például item == "John". Módosítsa a javaslatot, hogy a név Fredlegyen.

    A Copilot feltételes töréspontra vonatkozó javaslatának képernyőképe.

  6. A feltételes kifejezés tesztelése:

    1. Kattintson a jobb gombbal a ConsoleApp_Copilot projektre a Megoldáskezelőben, és válassza a Tulajdonságoklehetőséget.

    2. Válassza a Hibakeresés>Általános>Hibakeresési indítási profilok kezelőfelületének megnyitásalehetőséget.

    3. A parancssori argumentumok mezőben adja meg a 5 Fred Joe, három külön sorban.

      Képernyőkép a projekt parancssori argumentumainak megadásáról.

    4. Indítsa újra a hibakeresőt.

    Amikor a hibakereső szünetel a töréspontnál, ellenőrizze a item értékét, és ellenőrizze, hogy az aktuális érték Fred-e.