Copilot sturen met context

Softwareontwikkeling met GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Het belang van context

Softwareontwikkeling met GitHub Copilot

Het belang van context

Softwareontwikkeling met GitHub Copilot
Softwareontwikkeling met GitHub Copilot

De variabele #codebase

$$

#codebase: Voert semantisch codezoekwerk uit over een heel project

Voorbeeldprompt:

Hoe wordt user-authenticatie afgehandeld? #codebase

Resultaat:

  • 🔍 Scant de hele codebase
  • 💻 Neemt relevante logica, functieaanroepen of config op in het antwoord
Softwareontwikkeling met GitHub Copilot

Hoe Copilot je codebase begrijpt

Indextypen:

  • Lokale index: Op je machine opgeslagen
  • Externe index: Voor repos op GitHub
Softwareontwikkeling met GitHub Copilot

Je indextype controleren

Softwareontwikkeling met GitHub Copilot

Je indextype controleren

Softwareontwikkeling met GitHub Copilot

De variabele #changes

$$

#changes: Verwijst naar de meest recente versiebeheer-wijzigingen

Voorbeeldprompt:

Breken een van deze wijzigingen de loginflow? #changes

Gebruik wanneer:

  • 💾 Codewijzigingen beoordelen
Softwareontwikkeling met GitHub Copilot

De variabele #selection

$$

#selection: Verwijst naar gemarkeerde codeblokken

Voorbeeldprompt:

Kun je dit refactoren? #selection

Gebruik wanneer:

  • 🔧 Snel kleine aanpassingen maken
  • 📝 Gerichte prompts schrijven
Softwareontwikkeling met GitHub Copilot

De variabele #fetch

  • Documentatie 📚, API-referentie 💻, blogpost 📰

$$

#fetch: Haalt de inhoud van een webpagina op

Voorbeeldprompt:

Vat deze documentatie samen #fetch https://example.com/docs

Resultaat:

  • 🌐 Haalt een webpagina op en gebruikt die als context
Softwareontwikkeling met GitHub Copilot

De variabele #files

$$

#files: Voegt specifieke bestanden toe aan een prompt

Voorbeeldprompt:

Kun je dit bestand controleren op errorhandling? #files:utils/data_loader.py

Resultaat:

  • 🔍 Analyseert de inhoud van het genoemde bestand
  • 📄 Neemt het op in de promptcontext
Softwareontwikkeling met GitHub Copilot

Andere chatvariabelen en tools

$$

Variable/tool Description
#search Bestanden zoeken in de huidige workspace inschakelen.
#testFailure Info over gefaalde unittests ophalen. Handig bij het draaien en diagnosticeren van tests.
#problems Issues en problemen uit het Problems-paneel als context toevoegen. Handig bij fixen of debuggen.
#terminalLastCommand De laatst uitgevoerde terminalopdracht en de output ophalen.
#githubRepo Een codezoekopdracht uitvoeren in een GitHub-repo.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Softwareontwikkeling met GitHub Copilot
Softwareontwikkeling met GitHub Copilot

Een progressive chat opbouwen

Enkele, complexe prompt:

Voeg PostgreSQL-integratie toe met authenticatie, persistentie, sessies, errorhandling en connection pooling

Stapsgewijze opbouw:

  1. Wat is de beste aanpak voor databasepersistentie? #codebase
  2. Implementeer de databaseverbinding met de voorgestelde aanpak
  3. Help met het schema voor de klassen Task en User
  4. Voeg nu sessiebeheer en basis-errorhandling toe
  5. ...
Softwareontwikkeling met GitHub Copilot

Een nieuwe chat starten om context te wissen

Softwareontwikkeling met GitHub Copilot

Een nieuwe chat starten om context te wissen

Softwareontwikkeling met GitHub Copilot

Softwareontwikkeling met GitHub Copilot

Laten we oefenen!

Softwareontwikkeling met GitHub Copilot

Preparing Video For Download...