Guider Copilot avec le contexte

Développement logiciel avec GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

L’importance du contexte

Développement logiciel avec GitHub Copilot

L’importance du contexte

Développement logiciel avec GitHub Copilot
Développement logiciel avec GitHub Copilot

La variable #codebase

$$

#codebase : Effectue une recherche sémantique dans tout le projet

Exemple d’invite :

How is user authentication handled? #codebase

Résultat :

  • 🔍 Analyse toute la base de code
  • 💻 Inclut la logique, les appels de fonctions ou la config pertinents dans sa réponse
Développement logiciel avec GitHub Copilot

Comment Copilot comprend votre base de code

Types d’index :

  • Index local : Stocké sur votre machine
  • Index distant : Pour les dépôts hébergés sur GitHub
Développement logiciel avec GitHub Copilot

Vérifier le type d’index

Développement logiciel avec GitHub Copilot

Vérifier le type d’index

Développement logiciel avec GitHub Copilot

La variable #changes

$$

#changes : Référence les derniers changements de contrôle de version

Exemple d’invite :

L’un de ces changements casse-t-il le flux de connexion ? #changes

À utiliser lorsque :

  • 💾 Évaluer des modifications de code
Développement logiciel avec GitHub Copilot

La variable #selection

$$

#selection : Référence les blocs de code surlignés

Exemple d’invite :

Pouvez-vous refactorer ceci ? #selection

À utiliser lorsque :

  • 🔧 Faire des éditions rapides
  • 📝 Créer des invites ciblées
Développement logiciel avec GitHub Copilot

La variable #fetch

  • Documentation 📚, référence d’API 💻, billet de blog 📰

$$

#fetch : Récupère le contenu d’une page web

Exemple d’invite :

Résume cette documentation #fetch https://example.com/docs

Résultat :

  • 🌐 Récupère une page web et l’utilise comme contexte
Développement logiciel avec GitHub Copilot

La variable #files

$$

#files : Attache des fichiers spécifiques à une invite

Exemple d’invite :

Pouvez-vous vérifier ce fichier pour des problèmes de gestion des erreurs ? #files:utils/data_loader.py

Résultat :

  • 🔍 Analyse le contenu du fichier référencé
  • 📄 L’inclut dans le contexte de l’invite
Développement logiciel avec GitHub Copilot

Autres variables et outils de chat

$$

Variable/outil Description
#search Permet de rechercher des fichiers dans l’espace de travail actuel.
#testFailure Obtient des informations sur des échecs de tests unitaires. Utile pour exécuter et diagnostiquer des tests.
#problems Ajoute les problèmes de l’espace de travail depuis le panneau Problèmes comme contexte. Utile pour corriger ou déboguer.
#terminalLastCommand Récupère la dernière commande du terminal et sa sortie.
#githubRepo Effectue une recherche de code dans un dépôt GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Développement logiciel avec GitHub Copilot
Développement logiciel avec GitHub Copilot

Construire une interaction de chat progressive

Invite unique complexe :

Ajouter l’intégration PostgreSQL avec authentification, persistance, sessions, gestion des erreurs et pool de connexions

Montée progressive en complexité :

  1. Quelle est la meilleure approche pour ajouter la persistance base de données ? #codebase
  2. Implémentez la connexion à la base selon l’approche suggérée
  3. Aidez-moi à concevoir le schéma pour les classes Task et User
  4. Ajoutez maintenant la gestion de session et la gestion d’erreurs de base
  5. ...
Développement logiciel avec GitHub Copilot

Démarrer un nouveau chat pour réinitialiser le contexte

Développement logiciel avec GitHub Copilot

Démarrer un nouveau chat pour réinitialiser le contexte

Développement logiciel avec GitHub Copilot

Développement logiciel avec GitHub Copilot

Passons à la pratique !

Développement logiciel avec GitHub Copilot

Preparing Video For Download...