Sdílet prostřednictvím


Přizpůsobení odpovědí na chat a nastavení kontextu

Můžete požádat GitHub Copilot Chat , aby vám poskytl návrhy kódu, vysvětlit kód, generovat testy jednotek a navrhovat opravy kódu. Chat v sadě Visual Studio vám může poskytnout odpovědi a vygenerovat kód, který odpovídá vašim postupům kódování a požadavkům na projekt, pokud mu poskytnete správný kontext. Místo opakovaného přidávání těchto informací do každé výzvy chatu můžete tento kontext uložit do souborů a automaticky je zahrnout do každé žádosti o chat.

V tomto článku se dozvíte, jak získat lepší odpovědi tím, že poskytnete další informace do chatu Copilot:

Přečtěte si další informace o vývoji s asistencí umělé inteligence v sadě Visual Studio a o tom, jak používat Copilot Chat v sadě Visual Studio.

Požadavky

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

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

Pokyny pro poskytnutí podnětu

Prostředí pro asistovaný chat ve verzích Visual Studio 17.12 a novějších pomáhá upřesnit formulaci otázek pro objasnění kontextu a získání lepších odpovědí. GitHub Copilot Chat vás teď provede objasněním otázek, když kontext není jasný.

Snímek obrazovky s chatovací zkušeností s GitHub Copilot Chat.

Použijte vlastní pokyny

Funkce vlastních pokynů umožňuje automaticky přidávat do otázek chatu předem zadané kontextové podrobnosti. Copilot Chat používá tyto pokyny přizpůsobené vašemu konkrétnímu kontextu, například způsob, jakým váš tým funguje, nástroje, které používáte, nebo specifika projektu při generování odpovědí.

Snímek obrazovky s vlastními instrukčními soubory používanými copilotem v seznamu Reference

Použití souboru .github/copilot-instructions.md

.github/copilot-instructions.md Chcete-li použít soubor:

  1. Vytvořte nebo přidejte soubor s vlastními pokyny .github/copilot-instructions.md v kořenovém adresáři úložiště.
  1. Povolte tuto funkci v sadě Visual Studio v podokně Nástroje>Možnosti. Rozbalte část Všechna nastavení>GitHub>Copilot>Chat Copilot a zaškrtněte políčko Povolit načítání vlastních pokynů ze souborů .github/copilot-instructions.md a jejich přidání k žádostem.
  1. Povolte funkci v sadě Visual Studio v dialogovém okně Nástroje>Možnosti. Rozbalte část GitHub>Copilot a zaškrtněte políčko Povolit vlastní instrukce pro načtení ze souborů .github/copilot-instructions.md a přidání do zaškrtávacího políčka žádosti ve skupině Copilot Chat .

Vlastní pokyny se nezobrazují v zobrazení chatu nebo inline chatu. Při použití Copilotu je však soubor.github/copilot-instructions.md uveden v seznamu odkazů té odpovědi.

Použití souborů .instructions.md

Místo použití jediného souboru s pokyny, který platí pro všechny žádosti o chat, můžete vytvořit více *.instructions.md souborů, které platí pro konkrétní typy souborů nebo úkoly. Můžete například vytvořit soubory instrukcí pro různé programovací jazyky, architektury nebo typy projektů.

.github/instructions/*.instructions.md Chcete-li použít soubor:

  1. .github/instructions Vytvořte adresář, pokud ještě neexistuje.

  2. Přidejte jeden nebo více .github/instructions/*.instructions.md souborů.

  3. applyTo Přidejte vlastnost v části frontmatter souboru s pokyny. Pomocí syntaxe globu můžete určit, na jaké soubory nebo složky se pokyny vztahují.

  4. Povolte funkci v sadě Visual Studio.

    V podokně Nástroje a Možnosti rozbalte sekci Všechna nastaveníGitHubCopilotChat a zaškrtněte políčko Povolit načítání vlastních pokynů ze souborů .github/copilot-instructions.md a jejich přidání do požadavků.

    V dialogovém okně Možnosti nástrojů> rozbalte část GitHub>Copilot. Ve skupině Copilot Chat zaškrtněte políčko Povolit načtení vlastních instrukcí ze souborů .github/copilot-instructions.md a přidání do žádostí .

Formát souboru s pokyny

Cílové instrukční soubory používají příponu .instructions.md a mají tuto strukturu:

  • Hlavička (volitelné): Frontmatter YAML
    • description: Popis, který se zobrazí při najetí myší ve zobrazení chatu
    • applyTo: Vzor globu, který odpovídá souborům nebo složkám, na které se mají pokyny vztahovat
  • Tělo: Pokyny ve formátu Markdown

Example

Tady je příklad vlastní instrukce jazyka C#:

## C# Instructions
---
applyTo: `**/*.cs`
---

- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block  
  (such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.

Zkopírujte tyto pokyny do .github/instructions/*.instructions.md souboru, abyste je mohli použít a automaticky použít pro chování copilotu.

Další příklady vlastních instrukcí najdete v seznamu ukázek instrukcí na GitHubu.

Jak fungují instrukční soubory

Když začnete pracovat s Copilotem, automaticky zjistí, které instrukční soubory jsou relevantní pro váš aktuální kontext, a připojí je jako odkazy. Tím zajistíte, že návrhy Copilotu budou vždy v souladu s pravidly projektu bez ohledu na to, kde pracujete v základu kódu.

Instrukční soubory používané copilotem jsou uvedeny v seznamu odkazů odpovědi.

Použij promptní soubory

Teď můžete ve svém úložišti vytvářet opakovaně použitelné soubory s výzvou ke spuštění nebo sdílení často používaných výzev.

Chcete-li vytvořit soubor výzvy:

  1. Napište výzvy tak, jak byste normálně používali v poli příkazového řádku, pomocí # odkazů na konkrétní informace z vašeho řešení, jako jsou metody, třídy a soubory. Můžete dokonce odkazovat na další soubory s instrukcemi pro společné pokyny.
  2. Zkopírujte výzvu do souboru markdownu a uložte ho s příponou .prompt.md ve složce v .github/prompts kořenovém adresáři úložiště.

Použití souboru s výzvami:

  1. Zadejte #prompt: do vstupu chatu pro odkaz na jakékoli soubory s výzvou ze složky .github/prompts, nebo klikněte na ikonu ➕ ve vstupu chatu a přidejte je jako kontext.
  2. Přidejte další podrobnosti nebo jednoduše zadejte výzvu tak, jak je.

Snímek obrazovky z Chatu GitHub Copilot s používáním souborů podnětů

Použití příkazů lomítka k nastavení kontextu 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.

Příkazy lomítka můžete použít v okně chatu nebo přímo vkládat do kódu, který chcete upravit, s použitím funkce asistence při vkládání kódu. Příkazy, které pomáhají upravovat nebo přidávat do souboru kódu, který jste otevřeli v editoru, fungují jak ve vložených kódových asistentech, 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
/dokument 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 Ano
/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 Ano
/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 Ano
/generovat Vygenerujte kód pro odpověď na zadanou otázku.
Příklad: /generate code to add two numbers in Calculator.cs
Ano Ano
/Pomoc Získejte nápovědu k používání chatu Copilot.
Příklad: /help
Ano Ano
/optimalizovat 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 Ano
/testy Vytvořte testy jednotek pro vybraný kód.
Příklad: vyberte požadovaný kód a zadejte /tests using XUnit Framework
Pro .NET doporučujeme gitHub Copilot Testing for .NET.
Ano Ano

Snímek obrazovky s příkazy s lomítkem v zobrazení chatu a v oknech chatu

Se sadou Visual Studio 2022 verze 17.13, když uživatel zadá příkaz s lomítkem, příkaz se rozbalí v přirozeném jazyce, aby zobrazil kontext příkazu.

Použití akcí Copilotu

Pomocí akcí Copilot z místní nabídky můžete rychle získat přístup k předkonfigurovaným výzev a příkazům lomítka pro běžné vývojové úlohy.

Snímek obrazovky s akcemi Copilotu v místní nabídce

Chování jednotlivých akcí závisí na tom, jestli jste při otevření místní nabídky vybrali kód:

Action S vybraným kódem Bez vybraného kódu
Vysvětlit Vysvětluje vybraný kód. Vysvětluje kód v blízkosti pozice kurzoru.
Optimalizovat výběr Optimalizuje vybraný kód pro zajištění výkonu, udržovatelnosti, spolehlivosti a architektury. Není relevantní
Generování komentářů Vygeneruje komentáře pro vybraný kód. Generování komentářů pro kód v blízkosti pozice kurzoru
Generování testů Vygeneruje testy pro vybraný kód. Generování testů kódu poblíž pozice kurzoru
Přidat do chatu Přidá vybraný kód do chatu jako referenci. Přidání celého souboru do chatu jako odkazu

Když vyberete libovolnou akci kromě Optimalizovat výběr, otevře se okno chatu automaticky a odešle do Copilotu příkaz s lomítkem s odpovídajícím kontextem omezeným na určitý obor. V okně chatu pak můžete zkontrolovat odpověď copilotu a pracovat s ní.

Použití možnosti Optimalizovat výběr pro lepší kód

Vyberte konkrétní část kódu a zvolte Optimalizovat výběr , pokud chcete, aby copilot analyzoval a vylepšil jenom tento oddíl, a ne celý soubor.

Copilot prozkoumá vybraný kód a jeho okolní kontext, aby poskytoval smysluplné návrhy s podporou kontextu. Optimalizace zachovává váš stávající styl kódu, strukturu a funkčnost a udržuje základ kódu uspořádaný a konzistentní. Na rozdíl od jiných akcí, které používají panel chatu, zobrazí funkce Optimalizovat výběr návrhy jako vložený rozdíl, který můžete přímo zkontrolovat, přijmout nebo odmítnout.

Copilot nabízí návrhy optimalizace napříč těmito oblastmi:

  • Výkon: Rychlejší algoritmy, snížené využití paměti, asynchronní vzory
  • Udržovatelnost: Zjednodušená logika, jasnější struktura, lepší pojmenování
  • Spolehlivost: Zpracování chyb, čistění prostředků, bezpečnost vlákna
  • Architektura: Injektáž závislostí, lepší rozhraní, modulární návrh

Další kroky