Prozkoumejte vložený chat, inteligentní akce a rychlý chat v GitHub Copilot

Dokončeno

Kromě zobrazení chatu nabízí GitHub Copilot Chat několik dalších způsobů interakce s programátorem páru AI. Patří mezi ně vložený chat, inteligentní akce a rychlá konverzace.

Vložený chat

Jednou z klíčových funkcí GitHub Copilot Chatu je odpověď na otázky vložené při psaní kódu. Díky tomu můžete využít výkon AI přímo v editoru kódu s minimálním přerušením vývojového pracovního postupu.

Funkce vloženého chatu je přístupná jenom v případech, kdy je soubor otevřený v editoru. Relace vloženého chatu se dá otevřít několika způsoby:

  • V nabídce Copilot Chat vyberte editor vložený chat .
  • Použijte klávesovou zkratku: Ctrl+I.
  • Klikněte pravým tlačítkem do editoru kódu, v místní nabídce vyberte Copilot a pak vyberte Editor Inline Chat.

Snímek obrazovky znázorňující, jak získat přístup k vloženého chatu z nabídky Copilot v editoru Visual Studio Code

Vloženou chatovou relaci můžete použít ke kladení otázek Copilot během psaní nebo iterace vašeho kódu.

Když otevřete vloženou relaci chatu, zobrazí se v Editoru následující rozhraní.

Snímek obrazovky znázorňující, jak získat přístup k vloženým chatům pomocí klávesových zkratek v editoru Visual Studio Code

Představte si následující scénář:

  • Vyvíjíte aplikaci jazyka C#, která zpracovává číselný seznam. Data se zpracovávají v dávkách po 100 kusech.
  • Následující fragment kódu použijete k vytvoření seznamu 100 náhodných celých čísel mezi 1 a 1 000, které můžete použít k testování.
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
    numbers.Add(random.Next(1, 1000));
}

Kód funguje správně. Co když se ale požadavky změní? Co když potřebujete zajistit, aby seznam neobsahuje žádná duplicitní čísla?

Pokud chcete aktualizovat kód pomocí automatických dokončování GitHub Copilot, budete muset:

  1. Odstraňte existující kód.
  2. Vytvořte nový komentář, který odpovídá vašemu aktualizovanému požadavku.
  3. Pomocí GitHub Copilotu vygenerujte nový fragment kódu z aktualizovaného komentáře.
  4. Projděte si návrhy a vyberte nejlepší možnost.

Naštěstí to není nutné. Lepším řešením je použít GitHub Copilot Chat k návrhu požadovaných aktualizací kódu.

Pomocí vložené relace chatu můžete navrhnout aktualizaci kódu následujícím způsobem:

  1. Zvýrazněte fragment kódu, který chcete aktualizovat.
  2. Stisknutím Ctrl + I otevřete vložený chat.
  3. Zeptejte se GitHub Copilot Chatu, jak dokončit aktualizaci.
  4. Projděte si návrhy a vyberte nejlepší možnost.

V tomto případě byste se mohli zeptat: Update this code to ensure that numbers doesn't include any duplicates

Pokud se vám navrhované aktualizace kódu líbí, můžete vybrat Přijmout a pokračovat v kódování.

Snímek obrazovky znázorňující navrženou aktualizaci z vloženého chatu v editoru Visual Studio Code

Pokud se vám navrhované aktualizace nelíbí, můžete požádat Copilot Chat, aby vygeneroval jiný návrh výběrem ikony Spustit znovu ... Ikona Znovu spustit se zobrazí jako kruhová šipka, která se zobrazí pod textovým polem výzvy.

Pokud výzvu znovu spustíte a přesto se vám nezobrazí požadované výsledky, zkuste aktualizovat výzvu s dalším kontextem. Copilot Chat generuje lepší návrhy, když je výzva jasná, stručná a přesná. Pokud chcete zavřít vložený chat, můžete zvolit Možnost Zahodit , aniž byste museli provádět žádné změny.

Inteligentní akce

Některé úlohy jsou tak běžné, že je možné je automatizovat. GitHub Copilot Chat obsahuje inteligentní akce, které umožňují provádět určité úkoly bez nutnosti psát výzvu. Inteligentní akce jsou předdefinované akce, které můžete spustit přímo z editoru editoru Visual Studio Code, abyste mohli rychle a snadno provádět běžné úlohy kódování.

K dispozici jsou následující inteligentní akce:

  • Vysvětlení: Akce Explain vygeneruje popis přirozeného jazyka vybraného kódu. To může být užitečné pro pochopení účelu a funkčnosti fragmentu kódu. Tato Explain akce je užitečná hlavně v případě, že pracujete s neznámým kódem nebo potřebujete kód vysvětlit ostatním.
  • Oprava: Akce Fix navrhuje opravu vybraného kódu. To může být užitečné, pokud v kódu narazíte na chybu nebo problém a potřebujete pokyny k jeho vyřešení. Copilot Chat může navrhnout změny proměnných, řídicích struktur nebo volání funkcí, které by mohly problém vyřešit.
  • Revize a komentář: Akce Review and Comment poskytuje kontrolu kódu vybraného kódu. To může být užitečné pro identifikaci potenciálních problémů, zlepšení kvality kódu a zajištění dodržování osvědčených postupů. Tato Review and Comment akce vám může pomoct identifikovat chyby, kritické body výkonu a ohrožení zabezpečení v kódu.
  • Vygenerovat dokumentaci: Akce Generate Docs vytvoří dokumentaci pro vybraný kód. To může být užitečné pro dokumentaci základu kódu, zejména pokud pracujete na projektu s více přispěvateli nebo potřebujete sdílet kód s ostatními.
  • Generování testů: Akce Generate Tests vytvoří testy jednotek pro vybraný kód. To může být užitečné pro zajištění správnosti a spolehlivosti kódu, zejména pokud pracujete na projektu se složitou logikou nebo kritickými funkcemi.

Pokud chcete získat přístup k inteligentním akcím, klikněte pravým tlačítkem myši na fragment kódu v editoru a v místní nabídce Copilot vyberte požadovanou akci.

Snímek obrazovky znázorňující, jak získat přístup k inteligentním akcím v editoru Visual Studio Code

Znovu se podíváme na aplikaci s hlavním číslem.

V předchozí části navrhl vložený chat následující kód, aby se zajistilo, že numbers neobsahuje žádné duplicity:

// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

I když tento kód zajišťuje kolekci jedinečných prvků, můžou existovat příležitosti ke zlepšení.

Pomocí akce Zkontrolovat tuto inteligentní akci můžete zkontrolovat výběry kódu. Použití akce Zkontrolovat tuto inteligentní akci:

  1. Vyberte fragment kódu, který je potřeba zkontrolovat. V tomto případě kód, který generuje seznam náhodných čísel.

  2. V místní nabídce Copilot vyberte Zkontrolovat tuto možnost.

  3. Zkontrolujte navrhované aktualizace a vyberte Přijmout , aby se změny použily.

U fragmentu kódu, který generuje náhodná čísla, navrhuje tato inteligentní akce následující:

  • Inicializace List<int> numbers s kapacitou 100 , aby se zabránilo více změně velikosti během populace.
  • HashSet<int> Při kontrole duplicit místo rychlejšího vyhledávání použijte místo List<int> rychlejšího vyhledávání.

V tomto případě vás tato inteligentní akce povede k tomu, abyste místo HashSet<int> zlepšení výkonu používaliList<int>.

// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);

I když funguje HashSet efektivně, aby se zajistilo, že kolekce jedinečných prvků, aktualizace vytvoří nový problém. Metoda addPrimeNumbersInNumericList očekává List<int> jako vstup, ale aktualizovaný kód vytvoří HashSet<int>. Výsledkem je následující chyba kompilace:

Snímek obrazovky znázorňující chybu kompilace v editoru Visual Studio Code

Naštěstí můžete chybu opravit pomocí inteligentní akce Opravit . Použití inteligentní akce Opravit:

  1. Klikněte pravým tlačítkem myši na fragment kódu, který je potřeba opravit. V tomto případě je kód podtržený červeně.

  2. V místní nabídce Copilot vyberte Opravit .

  3. Projděte si navrhovaná opravu a vyberte Přijmout , aby se změny použily.

Inteligentní Fix akce vygeneruje jeden nebo více návrhů, které opraví chybu. V tomto případě jeden z návrhů používá metodu ToList() k převodu HashSet na List uvnitř volání addPrimeNumbersInNumericList. Výsledný kód bude vypadat podobně jako následující fragment kódu:

// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
    int randomNumber = random.Next(1, 1000);
    if (!numbers.Contains(randomNumber))
    {
        numbers.Add(randomNumber);
    }
}

int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);

Jako vždy si projděte návrh od společnosti Copilot Chat. Tam může být lepší řešení. Výběrem možnosti Přijmout můžete aktualizovat kód navrhovaným opravou.

Rychlý chat

Třetí možností, kterou GitHub Copilot Chat poskytuje pro interakce chatu, je Rychlý chat.

Funkci Rychlý chat v chatu GitHub Copilot můžete použít, když chcete mít rychlou interaktivní konverzaci s AI. To může být užitečné, když se snažíte vyřešit problém, potřebujete pomoc s pochopením části kódu nebo chcete debatovat o nápadech. Je navržená tak, aby se cítila, jako byste mluvili s kolegy vývojářem, což je skvělý nástroj pro spolupráci na řešení problémů.

Pokud chcete otevřít okno Rychlý chat, můžete stisknout kombinaci kláves Ctrl+Shift+Alt+L v editoru editoru Visual Studio Code nebo můžete otevřít rychlý chat z nabídky Copilot Chat.

Snímek obrazovky znázorňující, jak získat přístup k rychlému chatu v editoru Visual Studio Code

Shrnutí

GitHub Copilot Chat nabízí několik způsobů, jak se spojit s AI spoluprogramátorem, včetně chatu ve vloženém řádku, inteligentních akcí a rychlého chatu. Tyto funkce umožňují klást otázky, získávat návrhy kódu a provádět běžné úlohy psaní kódu rychle a snadno.