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 #codebase-variabele

$$

#codebase: Voert een semantische codezoekopdracht uit in een heel project

Voorbeeldprompt:

Hoe wordt gebruikersauthenticatie afgehandeld? #codebase

Resultaat:

  • 🔍 Scant de hele codebase
  • 💻 Neemt relevante logica, functieaanroepen of configuratie-instellingen op in zijn antwoord
Softwareontwikkeling met GitHub Copilot

Hoe Copilot je codebase begrijpt

Indextypen:

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

Je indextype controleren

Softwareontwikkeling met GitHub Copilot

Je indextype controleren

Softwareontwikkeling met GitHub Copilot

De #changes-variabele

$$

#changes: Verwijst naar de meest recente broncontrolewijzigingen

Voorbeeldprompt:

Zal een van deze wijzigingen de inlogstroom breken? #changes

Gebruik wanneer:

  • 💾 Evalueren van codewijzigingen
Softwareontwikkeling met GitHub Copilot

De #selection-variabele

$$

#selection: Verwijst naar gemarkeerde codeblokken

Voorbeeldprompt:

Kun je dit refactoren? #selection

Gebruik wanneer:

  • 🔧 Snelle bewerkingen maken
  • 📝 Gerichte prompts maken
Softwareontwikkeling met GitHub Copilot

De #fetch-variabele

  • Documentatie 📚, API-referentie 💻, blogpost 📰

$$

#fetch: Haalt de inhoud van een webpagina op

Voorbeeldprompt:

Vat deze documentatie samen voor mij #fetch example.com/docs

Resultaat:

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

De #files-variabele

$$

#files: Voegt specifieke bestanden toe aan een prompt

Voorbeeldprompt:

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

Resultaat:

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

Andere chatvariabelen en tools

$$

Variabele/tool Beschrijving
#search Zoeken naar bestanden in de huidige werkruimte.
#testFailure Informatie over unit test-fouten verkrijgen. Handig bij het uitvoeren en diagnosticeren van tests.
#problems Voeg werkruimteproblemen en -kwesties uit het Probleempaneel toe als context. Handig bij het oplossen van code of debuggen.
#terminalLastCommand Haal het laatst uitgevoerde terminalcommando en de uitvoer op.
#githubRepo Voer een codezoekopdracht uit 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 progressieve chatinteractie opbouwen

Enkele, complexe prompt:

Voeg PostgreSQL-integratie toe met authenticatie, persistentie, sessies, foutafhandeling en verbinding pooling

Progressieve complexiteitsstroom:

  1. Wat is de beste aanpak voor het toevoegen van databasepersistentie? #codebase
  2. Implementeer de databaseverbinding met de voorgestelde aanpak
  3. Help me met het schemaontwerp voor de Task- en User-klassen
  4. Voeg nu sessiebeheer en basisfoutafhandeling 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...