Delen via


Krijg betere antwoorden door de context in te stellen voor GitHub Copilot Chat in Visual Studio

U kunt GitHub Copilot Chat- in Visual Studio gebruiken om codegegevens en ondersteuning te krijgen, zoals syntaxis, programmeerconcepten, contextspecifieke codehulp, testcases, foutopsporing en meer, zonder de IDE te verlaten. Copilot Chat is geïntegreerd in Visual Studio, wat betekent dat het begrijpt waaraan u werkt door nuttige aanwijzingen te verzamelen van wat u in de IDE hebt.

Naast uw prompt gebruikt Copilot aanvullende context, zoals de code in uw huidige bestand en de chatgeschiedenis, om een antwoord te genereren. In dit artikel leert u hoe u betere antwoorden krijgt door meer informatie te verstrekken aan Copilot Chat, waaronder:

  • Gebruik slash-opdrachten om snel algemene taken op te geven, zoals /explain om code-uitleg te krijgen.
  • Gebruik de begeleide chatervaring en aangepaste instructies om de context in Visual Studio 17.12 of hoger te verfijnen.
  • Beperk de chat tot specifieke bestanden met behulp van -referenties.
  • Bekijk de bron die door Copilot is gebruikt om het antwoord te genereren.
  • Gebruik verschillende threads voor elk van uw Copilot-chats, zodat u verschillende contexten in elk gesprek kunt onderhouden.

Meer informatie over door AI ondersteunde ontwikkeling in Visual Studio en hoe u Copilot Chat kunt gebruiken in Visual Studio.

Voorwaarden

U hebt het volgende nodig om aan de slag te gaan met GitHub Copilot Chat in Visual Studio:

Ondersteuning voor GitHub Copilot Chat wordt geleverd door GitHub en kan worden bereikt op https://support.github.com.

Hulp bij vragen

Met de begeleide chatervaring in Visual Studio 17.12 en hoger kunt u uw prompts verfijnen om de context voor betere antwoorden te verduidelijken. GitHub Copilot Chat begeleidt u nu bij het verduidelijken van vragen wanneer de context onduidelijk is.

Schermopname van begeleide chatervaring met GitHub Copilot Chat.

Aangepaste instructies inschakelen

Met de functie voor aangepaste instructies kunt u automatisch vooraf opgegeven contextuele details toevoegen aan uw chatvragen. Copilot Chat gebruikt deze instructies die zijn afgestemd op uw specifieke context, zoals de manier waarop uw team werkt, de hulpprogramma's die u gebruikt of de details van uw project, bij het genereren van antwoorden.

Aangepaste instructies configureren:

  1. een aangepast instructiesbestand maken/toevoegen.github/copilot-instruction.md in de hoofdmap van uw opslagplaats.
  2. Schakel de functie in Visual Studio in via Tools>Options>GitHub>Copilot> selecteer (preview) Schakel aangepaste instructies in om te worden geladen vanuit .github/copilot-instructions.md-bestanden en toegevoegd aan aanvragen..

Aangepaste instructies zijn niet zichtbaar in de chatweergave of inlinechat. Wanneer het door Copilot wordt gebruikt, wordt echter het.github/copilot-instructions.md-bestand vermeld in de lijst met verwijzingen van een antwoord.

Slash-opdrachten gebruiken in Copilot Chat voor algemene taken

Met Slash-opdrachten in Copilot Chat kunt u de intentie snel instellen voor algemene ontwikkelingstaken. Door specifieke slash-opdrachten te gebruiken om uw vraag te vormen, kunt u betere antwoorden krijgen zonder lange vragen te hoeven schrijven.

U kunt slash-opdrachten gebruiken in een chatvensterof rechtstreeks inline in de code die u wilt wijzigen, met behulp van hulp bij inlinecode. Opdrachten die u helpen bij het wijzigen of toevoegen van het codebestand dat u in de editor hebt geopend, werken zowel in de inline-codeassistent als in de chatvensters, terwijl opdrachten voor meer algemene codevragen alleen werken in het chatvenster.

opdracht Gebruik chatvenster inlinechat-
/Doc Opmerkingen toevoegen voor opgegeven of geselecteerde code.
Voorbeelden:
- /doc DeleteBasketAsync method in BasketService.cs
- selecteer de gewenste code en voer /doc in
Ja Ja
/uitleggen Code-uitleg ophalen.

Voorbeelden:
- /explain the AddItemToBasket method in BasketService.cs
- selecteer de gewenste code en voer /explain in
Ja Ja
/repareren Een oplossing voorstellen voor problemen in de geselecteerde code.
Voorbeelden:
- /fix the SetQuantities method in BasketService.cs
- selecteer de gewenste code en voer /fix in
Ja Ja
/genereren Genereer code om de opgegeven vraag te beantwoorden.
Voorbeeld: /generate code to add two numbers in Calculator.cs
Ja Ja
/Help Hulp krijgen bij het gebruik van Copilot Chat.
Voorbeeld: /help
Ja Ja
/optimaliseren De actieve tijd van de geselecteerde code analyseren en verbeteren.
Voorbeelden:
- /optimize the AddItemToBasket method in BasketService.cs
- selecteer de gewenste code en voer /optimize in
Ja Ja
/tests Eenheidstests maken voor de geselecteerde code.
Voorbeeld: gewenste code selecteren en /tests using XUnit Framework invoeren
Ja Ja

Schermopname van slash-opdrachten in de inline chatweergave en chatvensters.

Referentie: Copilot-resultaten beperken tot een bepaald bestand of de hele oplossing

U kunt uw codegerelateerde vragen in natuurlijke taal stellen en GitHub Copilot Chat beantwoordt deze in de context van de codebase die is geopend in Visual Studio. Met verwijzingen kunt u specifiekere informatie krijgen over de informatie die Copilot moet overwegen bij het beantwoorden van uw vraag.

Door een specifieke context in uw codebasis te selecteren, kunt u eenvoudig betere vragen vormen zonder lange stukjes informatie te hoeven schrijven of plakken. Als u de context opgeeft, kan Copilot u ook relevantere antwoorden geven.

Verwijzen naar een bestand

Als u eenvoudig wilt verwijzen naar een bestand in GitHub Copilot Chat, voegt u een # symbool toe aan het begin van de bestandsnaam. Als u bijvoorbeeld een bestand met de naam BasketService.cshebt, raadpleegt u het in de chat als #BasketService.cs.

Schermopname van verwijzingen in Copilot Chat.

Verwijzen naar een methode, klasse of functie

Met Visual Studio 2022 versie 17.11kunt u nu verwijzen naar een specifieke methode, klasse of functie in GitHub Copilot Chat.

Als u eenvoudig wilt verwijzen naar een methode, klasse of functie in GitHub Copilot Chat, voegt u een # symbool toe aan het begin van de methode, klasse of functienaam. Als u bijvoorbeeld een methode hebt met de naam BasketAddItem, raadpleegt u deze in de chat als #BasketAddItem.

Schermopname van verwijzingen naar methoden in GitHub Copilot Chat in Visual Studio.

Verwijzen naar de hele oplossing

Gebruik @workspace om te verwijzen naar de oplossing die actief is in de IDE als context. Wanneer u @workspace gebruikt voor context, maakt Copilot Chat gebruik van de informatie over de bestanden, projecten en configuraties die momenteel zijn geopend en waaraan binnen uw IDE wordt gewerkt. Hierdoor kan Copilot Chat relevantere en contextbewuste suggesties en antwoorden bieden.

Schermopname van refereren naar de context van de oplossing in Copilot Chat.

Met Visual Studio 2022 versie 17.11 kunnen GitHub Copilot Enterprise-abonnees nu @github in chat gebruiken om context op te nemen vanuit hun hele opslagplaats en om op internet te zoeken (als zoekopdracht is ingeschakeld door uw beheerder). Zie @githubvoor meer informatie over de verzameling van gitHub-specifieke vaardigheden die Copilot kan gebruiken om uw vraag te beantwoorden wanneer u gebruikt.

Schermopname van het gebruik van GitHub-vaardigheden in Copilot Chat.

Gebruiksvoorbeelden

Hier volgen enkele voorbeelden van het gebruik van verwijzingen voor contextbeheer:

voorbeeld van context die door Copilot wordt gebruikt om de vraag te vormen
Wat is het doel van #MyFile.cs: 66-72? Exacte sectie van het bestand
Waar zijn de tests in #BasketService.cs? BasketService.cs
/leg het #AddItemToBasket uit in #BasketService.cs Methode AddItemToBasket in BasketService.cs
Is er een verwijdermand-methode in deze @workspace Huidige oplossing geopend in de IDE
Ik heb een testmethode met de naam #TestCalculator. Hoe kan ik ervoor zorgen dat deze correct wordt uitgevoerd? TestCalculator-methode
Kunt u de verschillen tussen klassen #BasketService en #OrderService uitleggen? BasketService-klasse en OrderService-klasse
In mijn @workspace, waar is #AddItemToBasket? Huidige oplossing geopend in de IDE

Bekijk de bronnen die worden gebruikt door Copilot Chat

Copilot Chat geeft de context weer die na elk resultaat wordt gebruikt, zodat u kunt zien wat er in aanmerking is genomen bij het beantwoorden van uw vraag. Wanneer je een vraag stelt aan Copilot Chat en een antwoord ontvangt in het chatvenster, verschijnt er onder het antwoord een Verwijzingen vervolgkeuzelijst. De vermeldingen in de vervolgkeuzelijst Verwijzingen tonen u de context die Copilot Chat gebruikt om dat antwoord te genereren. Met deze informatie kunt u uw vraag aanpassen om betere en relevantere antwoorden te krijgen.

Schermopname van de gebruikte verwijzingen vervolgkeuzelijst in Copilot Chat.

Organiseren: chats afzonderen met Copilot in afzonderlijke threads

Als u Copilot Chat uitgebreid gebruikt om vragen te stellen terwijl u codeert, kunt u uw gesprekken ordenen op een manier die hen on-topic houdt. Copilot Chat voor Visual Studio biedt nu een eenvoudige manier om nieuwe gesprekken (threads) te starten om ze gefocust te houden op de taak en de context helder te houden, zodat de antwoorden zijn gebaseerd op relevante geschiedenis.

Nieuwe chat-thread

U kunt een nieuwe thread starten door de Nieuwe thread maken te selecteren in het chatvenster.

Schermopname van het pictogram Nieuwe thread maken in Copilot Chat.

Schakelen tussen chatthreads

U kunt kiezen tussen meerdere lopende threads om de juiste historische context voor uw vraag te bieden.

Schermopname van het schakelen tussen lopende threads in Copilot Chat.

Inline chat promoveren naar het chatvenster

Met Visual Studio 2022 versie 17.11kunt u nu de geschiedenis van uw inline chat behouden door deze te promoveren naar het chatvenster. Selecteer Doorgaan in het chatvenster... om een record en de context van het gesprek te behouden, en ga door in het chatvenster.

Schermopname van het promoten van lopende thread in inlinechat naar het chatvenster.

Best practices

Copilot Chat gebruikt de chatgeschiedenis om context over uw aanvraag te krijgen. Copilot alleen de relevante geschiedenis geven:

  • Gebruik threads om een nieuw gesprek te starten voor een nieuwe taak.
  • Verwijder aanvragen die niet langer relevant zijn of die u niet het gewenste resultaat gaven.

Houd het chatgesprek open en blijf Copilot vragen om de voorgestelde oplossing te verbeteren. Copilot heeft zowel de context van de gegenereerde code als uw huidige gespreksgeschiedenis. Als u aanvullende vragen blijft stellen, verfijnt Copilot het antwoord verder op basis van uw vereisten. Zie Prompt engineering voor GitHub Copilot voor effectieve promptstrategieën om uw Copilot-resultaten te verbeteren.

Volgende stappen