Guidare Copilot con il contesto

Sviluppo software con GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

L’importanza del contesto

Sviluppo software con GitHub Copilot

L’importanza del contesto

Sviluppo software con GitHub Copilot
Sviluppo software con GitHub Copilot

La variabile #codebase

$$

#codebase: Esegue ricerche semantiche nel codice di tutto il progetto

Prompt di esempio:

Come viene gestita l’autenticazione utente? #codebase

Risultato:

  • 🔍 Scansiona l’intera codebase
  • 💻 Include logica, chiamate di funzione o config rilevanti nella risposta
Sviluppo software con GitHub Copilot

Come Copilot comprende la tua codebase

Tipi di indice:

  • Indice locale: Salvato sulla tua macchina
  • Indice remoto: Per repository su GitHub
Sviluppo software con GitHub Copilot

Controllare il tipo di indice

Sviluppo software con GitHub Copilot

Controllare il tipo di indice

Sviluppo software con GitHub Copilot

La variabile #changes

$$

#changes: Fa riferimento alle modifiche più recenti nel controllo versione

Prompt di esempio:

Qualcuna di queste modifiche rompe il flusso di login? #changes

Quando usarlo:

  • 💾 Valutare modifiche al codice
Sviluppo software con GitHub Copilot

La variabile #selection

$$

#selection: Fa riferimento ai blocchi di codice evidenziati

Prompt di esempio:

Puoi fare refactor di questo? #selection

Quando usarlo:

  • 🔧 Piccole modifiche rapide
  • 📝 Prompt mirati
Sviluppo software con GitHub Copilot

La variabile #fetch

  • Documentazione 📚, riferimento API 💻, post del blog 📰

$$

#fetch: Recupera il contenuto di una pagina web

Prompt di esempio:

Riassumi questa documentazione #fetch https://example.com/docs

Risultato:

  • 🌐 Recupera una pagina web e la usa come contesto
Sviluppo software con GitHub Copilot

La variabile #files

$$

#files: Allega file specifici a un prompt

Prompt di esempio:

Puoi controllare questo file per problemi di gestione errori? #files:utils/data_loader.py

Risultato:

  • 🔍 Analizza il contenuto del file indicato
  • 📄 Lo include nel contesto del prompt
Sviluppo software con GitHub Copilot

Altre variabili e strumenti della chat

$$

Variabile/strumento Descrizione
#search Abilita la ricerca di file nello spazio di lavoro corrente.
#testFailure Ottieni info sui fallimenti dei test unitari. Utile per eseguire e diagnosticare test.
#problems Aggiunge problemi dello spazio di lavoro dal pannello Problemi come contesto. Utile per fix o debug.
#terminalLastCommand Ottieni l’ultimo comando del terminale e il suo output.
#githubRepo Esegue una ricerca di codice in un repo GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Sviluppo software con GitHub Copilot
Sviluppo software con GitHub Copilot

Creare un’interazione progressiva in chat

Prompt unico e complesso:

Aggiungi integrazione PostgreSQL con autenticazione, persistenza, sessioni, gestione errori e connection pooling

Flusso a complessità progressiva:

  1. Qual è l’approccio migliore per aggiungere persistenza al database? #codebase
  2. Implementa la connessione al database con l’approccio suggerito
  3. Aiutami con il design dello schema per le classi Task e User
  4. Ora aggiungi gestione sessioni e gestione errori di base
  5. ...
Sviluppo software con GitHub Copilot

Avviare una nuova chat per azzerare il contesto

Sviluppo software con GitHub Copilot

Avviare una nuova chat per azzerare il contesto

Sviluppo software con GitHub Copilot

Sviluppo software con GitHub Copilot

Passiamo alla pratica!

Sviluppo software con GitHub Copilot

Preparing Video For Download...