Řízení Copilota pomocí kontextu

Software Development with GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Důležitost kontextu

Software Development with GitHub Copilot

Důležitost kontextu

Software Development with GitHub Copilot
Software Development with GitHub Copilot

Proměnná #codebase

$$

#codebase: Provádí sémantické vyhledávání v celém projektu

Příklad dotazu:

Jak je řešena autentizace uživatelů? #codebase

Výsledek:

  • 🔍 Prohledá celou kódovou základnu
  • 💻 Zahrne relevantní logiku, volání funkcí nebo nastavení konfigurace
Software Development with GitHub Copilot

Jak Copilot rozumí vaší kódové základně

Typy indexů:

  • Lokální index: Uložen na vašem počítači
  • Vzdálený index: Pro repozitáře hostované na GitHubu
Software Development with GitHub Copilot

Kontrola typu indexu

Software Development with GitHub Copilot

Kontrola typu indexu

Software Development with GitHub Copilot

Proměnná #changes

$$

#changes: Odkazuje na nejnovější změny ve správě verzí

Příklad dotazu:

Může některá z těchto změn narušit přihlašovací tok? #changes

Použití:

  • 💾 Vyhodnocování úprav kódu
Software Development with GitHub Copilot

Proměnná #selection

$$

#selection: Odkazuje na označené bloky kódu

Příklad dotazu:

Můžeš toto refaktorovat? #selection

Použití:

  • 🔧 Rychlé úpravy
  • 📝 Cílené dotazy
Software Development with GitHub Copilot

Proměnná #fetch

  • Dokumentace 📚, reference API 💻, příspěvek na blogu 📰

$$

#fetch: Načte obsah webové stránky

Příklad dotazu:

Shrň mi tuto dokumentaci #fetch https://example.com/docs

Výsledek:

  • 🌐 Načte webovou stránku a použije ji jako kontext
Software Development with GitHub Copilot

Proměnná #files

$$

#files: Připojí konkrétní soubory k dotazu

Příklad dotazu:

Můžeš zkontrolovat, zda tento soubor správně ošetřuje chyby? #files:utils/data_loader.py

Výsledek:

  • 🔍 Analyzuje obsah odkazovaného souboru
  • 📄 Zahrne jej do kontextu dotazu
Software Development with GitHub Copilot

Další proměnné a nástroje chatu

$$

Variable/tool Description
#search Umožňuje vyhledávání souborů v aktuálním pracovním prostoru.
#testFailure Získá informace o selhání jednotkových testů. Užitečné při spouštění a diagnostice testů.
#problems Přidá problémy z panelu Problems jako kontext. Užitečné při opravách nebo ladění kódu.
#terminalLastCommand Získá poslední spuštěný příkaz terminálu a jeho výstup.
#githubRepo Provede vyhledávání kódu v repozitáři GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Software Development with GitHub Copilot
Software Development with GitHub Copilot

Postupné budování chatové interakce

Jediný komplexní dotaz:

Přidej integraci PostgreSQL s autentizací, persistencí, sezeními, ošetřením chyb a sdružováním připojení

Postupné budování složitosti:

  1. Jaký je nejlepší přístup k přidání databázové persistence? #codebase
  2. Implementuj databázové připojení pomocí navrženého přístupu
  3. Pomoz mi s návrhem schématu pro třídy Task a User
  4. Nyní přidej správu sezení a základní ošetření chyb
  5. ...
Software Development with GitHub Copilot

Zahájení nového chatu pro vymazání kontextu

Software Development with GitHub Copilot

Zahájení nového chatu pro vymazání kontextu

Software Development with GitHub Copilot

Software Development with GitHub Copilot

Pojďme si procvičit!

Software Development with GitHub Copilot

Preparing Video For Download...