Získání lepších odpovědí nastavením kontextu pro chat GitHub Copilot v sadě Visual Studio

Pomocí chatu GitHub Copilot v sadě Visual Studio můžete získat informace a podporu kódování, jako je syntaxe, programovací koncepty, kontextová nápověda ke kódu, testovací případy, ladění a další, aniž byste opustili integrované vývojové prostředí (IDE). Copilot Chat je integrovaný do sady Visual Studio, což znamená, že dokáže pochopit, na čem pracujete, tím, že shromáždí užitečné informace o tom, co máte v integrovaném vývojovém prostředí( IDE).

Kromě výzvy používá Copilot k vygenerování odpovědi další kontext, například kód v aktuálním souboru a historii chatu. V tomto článku se dozvíte, jak získat lepší odpovědi tím, že poskytnete další informace ke službě Copilot Chat, včetně následujících:

  • Pomocí příkazů lomítko můžete rychle určit běžné úlohy, jako /explain je získání vysvětlení kódu.
  • Využte rozsah chatu na konkrétní soubory pomocí odkazů.
  • Zkontrolujte zdroj používaný copilotem k vygenerování odpovědi.
  • Pro každý chat Copilot používejte různá vlákna , abyste mohli udržovat různé kontexty v každém z nich.

Přečtěte si další informace o vývoji s asistencí umělé inteligence v sadě Visual Studio a o používání chatu Copilot v sadě Visual Studio.

Požadavky

Pokud chcete začít používat GitHub Copilot Chat v sadě Visual Studio, potřebujete:

Podpora GitHub Copilot Chatu bude poskytována GitHubem a je k dispozici na adrese https://support.github.com.

Použití příkazů lomítka v Chatu Copilot pro běžné úlohy

Příkazy slash v Copilot Chatu vám pomůžou rychle nastavit záměr pro běžné úlohy vývoje. Pomocí konkrétních příkazů lomítka k vytvoření otázky můžete získat lepší odpovědi, aniž byste museli psát dlouhé otázky.

Pomocí pomoci s vloženým kódem můžete použít příkazy lomítka v okně chatu nebo přímo vložené do kódu, který chcete upravit. Příkazy, které pomáhají upravovat nebo přidávat do souboru kódu, který máte otevřený v editoru, budou fungovat jak ve vložených pomocníkech s kódem, tak v oknech chatu, zatímco příkazy pro obecnější otázky kódování fungují jenom v podokně chatu.

Příkaz Využití Okno chatu Vložený chat
/doc Přidejte komentáře pro zadaný nebo vybraný kód.
Příklady:
- /doc DeleteBasketAsync method in BasketService.cs
- vyberte požadovaný kód a zadejte /doc
Ano Yes
/vysvětlit Získejte vysvětlení kódu.

Příklady:
- /explain the AddItemToBasket method in BasketService.cs
- vyberte požadovaný kód a zadejte /explain
Ano Yes
/opravit Navrhnout opravu problémů ve vybraném kódu
Příklady:
- /fix the SetQuantities method in BasketService.cs
- vyberte požadovaný kód a zadejte /fix
Ano Yes
/generovat Vygenerujte kód pro odpověď na zadanou otázku.
Příklad: /generate code to add two numbers in Calculator.cs
Ano Yes
/help Získejte nápovědu k používání chatu Copilot.
Příklad: /help
Ano Yes
/optimize Analyzujte a vylepšete dobu běhu vybraného kódu.
Příklady:
- /optimize the AddItemToBasket method in BasketService.cs
- vyberte požadovaný kód a zadejte /optimize
Ano Yes
/testy Vytvořte testy jednotek pro vybraný kód.
Příklad: vyberte požadovaný kód a zadejte /tests using XUnit Framework
Ano Yes

Snímek obrazovky s příkazy lomítka v vložených zobrazeních chatu a oknech chatu

Odkaz: Rozsah výsledků Copilotu na konkrétní soubor nebo celé řešení

Své otázky související s kódováním můžete položit v přirozeném jazyce a GitHub Copilot Chat na tyto otázky odpoví v kontextu základu kódu otevřeného v sadě Visual Studio. S odkazy můžete získat konkrétnější informace, které má Copilot zvážit při odpovídání na vaši otázku.

Výběrem konkrétního kontextu v základu kódu můžete snadno vytvářet lepší otázky, aniž byste museli psát nebo vkládat dlouhé informace. Když zadáte kontext, umožní vám Copilot poskytnout relevantnější odpovědi.

Odkaz na soubor

Pokud chcete snadno odkazovat na soubor v GitHub Copilot Chatu, stačí na začátek názvu souboru přidat # symbol. Pokud máte například soubor s názvem BasketService.cs, odkazujte na něj v chatu jako #BasketService.cs.

Snímek obrazovky s odkazy v chatu Copilot

Odkazování na metodu, třídu nebo funkci

V sadě Visual Studio 2022 verze 17.11 teď můžete odkazovat na konkrétní metodu, třídu nebo funkci v chatu GitHub Copilot Chat.

Pokud chcete snadno odkazovat na metodu, třídu nebo funkci v GitHub Copilot Chatu, stačí na začátek metody, třídy nebo názvu funkce přidat # symbol. Pokud máte například metodu s názvem BasketAddItem, odkazujte na ni v chatu jako #BasketAddItem.

Snímek obrazovky s odkazy na metody v chatu GitHub Copilot v sadě Visual Studio

Odkaz na celé řešení

Pomocí @workspace odkazujte na řešení aktivní v integrovaném vývojovém prostředí (IDE) pro kontext. Při použití @workspace pro kontext využívá Copilot Chat informace o souborech, projektech a konfiguracích, které jsou aktuálně otevřené a pracují na něm v integrovaném vývojovém prostředí ( IDE). Díky tomu může Copilot Chat poskytovat relevantnější a kontextové návrhy a odpovědi.

Snímek obrazovky odkazující na kontext řešení v chatu Copilot

V sadě Visual Studio 2022 verze 17.11 teď předplatitelé GitHub Copilot Enterprise můžou v chatu zahrnout @github kontext z celého úložiště a hledat na webu (pokud je vyhledávání povoleno správcem). Další informace o kolekci dovedností specifických pro GitHub, které copilot může použít k zodpovězení otázky při použití @github, najdete v tématu Použití dovedností GitHubu pro Copilot.

Snímek obrazovky s používáním dovedností GitHubu v Chatu Copilot

Příklady použití

Tady je několik příkladů použití odkazů pro řízení kontextu:

Příklad Kontext používaný copilotem k vytvoření otázky
Jaký je účel #MyFile.cs: 66–72? Přesná část souboru
Kde jsou testy v #BasketService.cs? BasketService.cs
/vysvětlit #AddItemToBasket v #BasketService.cs Metoda AddItemToBasket v BasketService.cs
Existuje metoda odstranění košíku v tomto @workspace Aktuální řešení otevřené v integrovaném vývojovém prostředí
Mám testovací metodu s názvem #TestCalculator. Jak zajistím správné spuštění? Metoda TestCalculator
Mohli byste vysvětlit rozdíly mezi třídami #BasketService a #OrderService? BasketService – třída a OrderService – třída
Kde je #AddItemToBasket @workspace ? Aktuální řešení otevřené v integrovaném vývojovém prostředí

Kontrola zdrojů používaných zkopírovaného chatu

Copilot Chat zobrazí kontext použitý po každém výsledku, abyste mohli zjistit, co se při odpovídání na vaši otázku zohlednilo. Když položíte dotaz zkopírovaného chatu a v okně chatu dostanete odpověď, zobrazí se pod odpovědí rozevírací seznam Reference . Položky v rozevíracím seznamu Reference ukazují kontext odkazovaný pomocí Copilot Chatu pro vygenerování této odpovědi. Tyto informace vám můžou pomoct upravit otázku, abyste získali lepší a relevantnější odpovědi.

Snímek obrazovky s rozevíracím seznamem Použité odkazy v chatu Copilot

Uspořádání: izolace chatů s copilotem do vláken

Pokud ke kladení otázek při psaní kódu používáte Copilot Chat, můžete konverzace uspořádat způsobem, který je udržuje v tématu. Copilot Chat pro Visual Studio teď nabízí snadný způsob, jak začít s novými konverzacemi (vlákny), abyste je mohli soustředit na daný úkol a zachovat přehledný kontext, aby odpovědi byly založené na relevantní historii.

Nové vlákno chatu

Nové vlákno můžete spustit tak , že v okně chatu vyberete Vytvořit nové vlákno .

Snímek obrazovky s ikonou Vytvořit nové vlákno v chatu Copilot

Přepnout vlákno chatu

Můžete si vybrat mezi několika probíhajícími vlákny a poskytnout tak správný historický kontext pro vaši otázku.

Snímek obrazovky s přepínáním mezi probíhajícími vlákny v chatu Copilot

Zvýšení úrovně vloženého chatu do okna chatu

V sadě Visual Studio 2022 verze 17.11 teď můžete zachovat historii vloženého chatu tak, že ji povyšte do okna chatu. Výběrem možnosti Pokračovat v okně chatu... zachováte záznam a kontext konverzace a pokračujte v okně chatu.

Snímek obrazovky s propagací probíhajícího vlákna v vložené konverzaci do okna chatu

Osvědčené postupy

Copilot Chat používá historii chatu k získání kontextu o vaší žádosti. Chcete-li dát Copilot pouze relevantní historii:

  • Pomocí vláken můžete zahájit novou konverzaci pro nový úkol.
  • Odstraňte žádosti, které už nejsou relevantní nebo které vám neudělily požadovaný výsledek.

Nechte konverzaci chatu otevřenou a pokračujte iterovat a vyzvat Copilot k vylepšení navrhovaného řešení. Copilot má kontext vygenerovaného kódu i aktuální historii konverzací. Při kladení dalších otázek copilot dále upřesňuje odpověď podle vašich požadavků. Pro strategie s efektivní výzvou ke zlepšení výsledků copilotu na GitHubu si prohlédněte technické materiály githubu .

Další kroky