03 Copilot dans l’IDE
Activer Copilot et les suggestions inline
3.1 Installation et activation de Copilot dans l’IDE
Définition simple
Installer GitHub Copilot dans l’IDE signifie ajouter l’extension ou le plugin Copilot dans ton environnement de développement, puis te connecter avec ton compte GitHub.
Copilot peut ensuite t’aider à :
- générer du code ;
- compléter du code existant ;
- expliquer du code ;
- générer des tests ;
- proposer des corrections ;
- aider à refactorer ;
- répondre à des questions dans le contexte de ton projet.
GitHub documente l’usage de Copilot dans plusieurs IDE, notamment Visual Studio Code, JetBrains IDEs, Visual Studio, Eclipse et Xcode.
Installation dans VS Code
Dans VS Code, le flux classique est :
- Installer l’extension GitHub Copilot.
- Installer aussi GitHub Copilot Chat si nécessaire.
- Se connecter avec son compte GitHub.
- Vérifier que l’abonnement ou l’accès Copilot est actif.
- Ouvrir un projet.
- Commencer à coder ou ouvrir le panneau Copilot Chat.
Exemple d’usage immédiat :
def calculate_discount(price, percentage):Copilot peut proposer automatiquement :
def calculate_discount(price, percentage):
return price - (price * percentage / 100)Installation dans JetBrains
Dans IntelliJ, PyCharm, WebStorm ou les autres IDE JetBrains :
- Aller dans les plugins.
- Chercher GitHub Copilot.
- Installer le plugin.
- Redémarrer l’IDE si nécessaire.
- Se connecter à GitHub.
- Activer Copilot dans les paramètres.
GitHub précise que dans les IDE JetBrains, Copilot peut générer des suggestions de code, expliquer le code dans l’éditeur et suggérer des corrections.
Installation dans Visual Studio
Dans Visual Studio :
- Vérifier que la version supporte Copilot.
- Installer ou activer l’extension GitHub Copilot.
- Se connecter à GitHub.
- Ouvrir le menu ou la fenêtre Copilot Chat.
- Utiliser les suggestions dans l’éditeur.
À retenir pour l’examen
L’examen ne va probablement pas te demander :
Quel bouton exact cliquer dans VS Code ?Il va plutôt tester :
Un développeur veut utiliser Copilot directement dans son environnement de développement.
Quelle première étape doit-il effectuer ?Réponse attendue :
Installer/activer GitHub Copilot dans l’IDE et s’authentifier avec un compte GitHub disposant d’un accès Copilot.3.2 Inline suggestions
Définition
Les inline suggestions sont les suggestions de code qui apparaissent directement pendant que tu écris dans ton éditeur.
C’est l’usage le plus connu de GitHub Copilot : tu commences à écrire du code, et Copilot propose une continuation.
GitHub décrit les suggestions de code dans l’IDE comme une fonctionnalité centrale de Copilot, disponible dans différents environnements de développement.
Vocabulaire de reconnaissance : ghost text
La suggestion inline apparaît souvent sous forme de ghost text : un texte grisé ou atténué affiché directement après le curseur. Le développeur peut l’accepter, par exemple avec Tab dans VS Code lorsque cette action est proposée par la surface, ou la rejeter et continuer à écrire. Ghost text désigne la présentation visuelle de la suggestion, pas un nouvel objectif.
Pour une même entrée, Copilot peut proposer plusieurs suggestions : on parcourt les alternatives, on en ouvre plusieurs à la fois dans un nouvel onglet, ou on rejette tout. La façon d’y accéder dépend de l’IDE.
Exemple simple
Tu écris :
function isValidEmail(email) {Copilot peut proposer :
function isValidEmail(email) {
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}C’est rapide et utile, mais ce n’est pas magique.
Tu dois vérifier :
- la regex est-elle suffisante ?
- le cas métier est-il bien couvert ?
- faut-il gérer
nullouundefined? - faut-il normaliser l’email ?
- faut-il ajouter des tests ?
Exemple plus réaliste
Tu écris :
def get_active_users(users):Copilot peut proposer :
def get_active_users(users):
return [user for user in users if user.get("active")]C’est propre si tes users sont des dictionnaires.
Mais si ton modèle est une classe ?
class User:
def __init__(self, name, active):
self.name = name
self.active = activeAlors le code attendu serait plutôt :
def get_active_users(users):
return [user for user in users if user.active]Donc Copilot dépend énormément du contexte.
Comment améliorer les inline suggestions ?
Copilot se base sur le contexte disponible :
- le fichier courant ;
- les noms de fonctions ;
- les commentaires ;
- les types ;
- les imports ;
- les fichiers ouverts ;
- parfois le contexte du projet selon l’environnement et les permissions.
Plus ton intention est claire, meilleure est la suggestion.
Mauvais exemple
def process(data):Copilot ne sait pas vraiment ce que tu veux.
Meilleur exemple
def process_order_events(events: list[dict]) -> list[dict]:
"""
Filter invalid order events, normalize the timestamp field,
and return only events with status 'confirmed'.
"""Là, Copilot a beaucoup plus de contexte.
Il peut proposer quelque chose comme :
from datetime import datetime
def process_order_events(events: list[dict]) -> list[dict]:
"""
Filter invalid order events, normalize the timestamp field,
and return only events with status 'confirmed'.
"""
processed = []
for event in events:
if not event.get("order_id") or event.get("status") != "confirmed":
continue
timestamp = event.get("timestamp")
if isinstance(timestamp, str):
timestamp = datetime.fromisoformat(timestamp)
processed.append({
**event,
"timestamp": timestamp,
})
return processedBonnes pratiques avec inline suggestions
Utilise les inline suggestions pour :
- écrire du boilerplate ;
- compléter des fonctions simples ;
- générer des mappings ;
- créer des DTO ;
- écrire des helpers ;
- produire des exemples ;
- accélérer des patterns connus.
Évite de les accepter aveuglément pour :
- sécurité ;
- authentification ;
- IAM ;
- chiffrement ;
- données sensibles ;
- logique métier critique ;
- transactions financières ;
- scripts destructifs.
Piège d’examen
Question possible :
A developer receives an inline suggestion from Copilot that compiles successfully.
What should the developer do before merging it?Bonne réponse :
Review, test, and validate the suggestion before merging.Mauvaise réponse :
Accept it because Copilot generated it.À retenir pour le GH-300
- Activer Copilot : l’extension ou le plugin dans l’IDE, puis une connexion avec un compte GitHub qui a un accès Copilot.
- Une suggestion inline vaut son contexte : nom, types, commentaire d’intention, imports et fichiers ouverts.
- Si une suggestion manque, on vérifie d’abord l’accès du compte, puis les policies et les content exclusions du chemin concerné.
- Une suggestion qui compile n’est pas validée : relecture et tests avant de fusionner.
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- Activer Copilot : l’extension ou le plugin dans l’IDE, puis une connexion avec un compte GitHub qui a un accès Copilot.
- Une suggestion inline vaut son contexte : nom, types, commentaire d’intention, imports et fichiers ouverts.
- Si une suggestion manque, on vérifie d’abord l’accès du compte, puis les policies et les content exclusions du chemin concerné.
- Une suggestion qui compile n’est pas validée : relecture et tests avant de fusionner.
Objectifs GH-300
- Activer Copilot dans l’IDE (Enable GitHub Copilot in the IDE)
- Déclencher les fonctions IDE (Use GitHub Copilot features in the IDE)
- Exclusions dans l’IDE (Configure IDE-related Copilot features and exclusions)
Achèvement
Il reste à faire : .