Vägleda Copilot med kontext

Mjukvaruutveckling med GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Varför kontext spelar roll

Mjukvaruutveckling med GitHub Copilot

Varför kontext spelar roll

Mjukvaruutveckling med GitHub Copilot
Mjukvaruutveckling med GitHub Copilot

Variabeln #codebase

$$

#codebase: Utför semantisk kodsökning i hela projektet

Exempelprompt:

How is user authentication handled? #codebase

Resultat:

  • 🔍 Söker igenom hela kodbasen
  • 💻 Inkluderar relevant logik, funktionsanrop och konfigurationsinställningar i svaret
Mjukvaruutveckling med GitHub Copilot

Hur Copilot förstår din kodbas

Indextyper:

  • Lokalt index: Lagras på din dator
  • Fjärrindex: För kodbaser som ligger på GitHub
Mjukvaruutveckling med GitHub Copilot

Kontrollera din indextyp

Mjukvaruutveckling med GitHub Copilot

Kontrollera din indextyp

Mjukvaruutveckling med GitHub Copilot

Variabeln #changes

$$

#changes: Refererar de senaste ändringarna i källkodshanteringen

Exempelprompt:

Will any of these changes break the login flow? #changes

Använd när:

  • 💾 Du utvärderar kodändringar
Mjukvaruutveckling med GitHub Copilot

Variabeln #selection

$$

#selection: Refererar markerade kodblock

Exempelprompt:

Can you refactor this? #selection

Använd när:

  • 🔧 Du gör snabba redigeringar
  • 📝 Du skapar riktade prompter
Mjukvaruutveckling med GitHub Copilot

Variabeln #fetch

  • Dokumentation 📚, API-referens 💻, blogginlägg 📰

$$

#fetch: Hämtar innehållet från en webbsida

Exempelprompt:

Summarize this documentation for me #fetch https://example.com/docs

Resultat:

  • 🌐 Hämtar en webbsida och använder den som kontext
Mjukvaruutveckling med GitHub Copilot

Variabeln #files

$$

#files: Bifogar specifika filer till en prompt

Exempelprompt:

Can you check this file for error handling issues? #files:utils/data_loader.py

Resultat:

  • 🔍 Analyserar innehållet i den refererade filen
  • 📄 Inkluderar den som en del av promptkontexten
Mjukvaruutveckling med GitHub Copilot

Andra chattvariabler och verktyg

$$

Variabel/verktyg Beskrivning
#search Aktivera sökning efter filer i den aktuella arbetsytan.
#testFailure Hämta information om misslyckade enhetstester. Användbart vid körning och felsökning av tester.
#problems Lägg till problem och felmeddelanden från panelen Problem som kontext. Användbart vid kodrättning och felsökning.
#terminalLastCommand Hämta det senast körda terminalkommandot och dess utdata.
#githubRepo Utför en kodsökning i ett GitHub-repo.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Mjukvaruutveckling med GitHub Copilot
Mjukvaruutveckling med GitHub Copilot

Bygg upp en progressiv chattinteraktion

En enda, komplex prompt:

Add PostgreSQL integration with authentication, persistence, sessions, error handling, and connection pooling

Progressivt flöde:

  1. What's the best approach for adding database persistence? #codebase
  2. Implement the database connection using the suggested approach
  3. Help me with the schema design for the Task and the User classes
  4. Now add session management and basic error handling
  5. ...
Mjukvaruutveckling med GitHub Copilot

Starta en ny chatt för att rensa kontexten

Mjukvaruutveckling med GitHub Copilot

Starta en ny chatt för att rensa kontexten

Mjukvaruutveckling med GitHub Copilot

Mjukvaruutveckling med GitHub Copilot

Nu kör vi en övning!

Mjukvaruutveckling med GitHub Copilot

Preparing Video For Download...