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:
- Visual Studio 2022 versie 17.8 of hoger
-
meld u aan bij Visual Studio met behulp van een GitHub-account met Copilot-toegang
** U kunt GitHub Copilot voor gratisgebruiken. Registreer en maak gebruik van AI om sneller en efficiënter code te coden. - GitHub Copilot in Visual Studio
- 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.
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:
-
een aangepast instructiesbestand maken/toevoegen
.github/copilot-instruction.md
in de hoofdmap van uw opslagplaats. - 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 |
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.
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.
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.
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 @github
voor meer informatie over de verzameling van gitHub-specifieke vaardigheden die Copilot kan gebruiken om uw vraag te beantwoorden wanneer u gebruikt.
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.
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.
Schakelen tussen chatthreads
U kunt kiezen tussen meerdere lopende threads om de juiste historische context voor uw vraag te bieden.
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.
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.