Tutoriel GitHub Copilot

Présentation

GitHub Copilot est le premier outil de développement d’IA à grande échelle au monde permettant d’écrire du code plus rapidement et avec moins de travail. GitHub Copilot extrait le contexte des commentaires et du code pour suggérer instantanément des lignes individuelles et des fonctions entières.

Des études montrent que lorsque GitHub Copilot permet aux développeurs d’écrire du code plus rapidement, ils peuvent se consacrer à la résolution de problèmes plus importants, rester concentrés plus longtemps et être plus satisfaits de leur travail.

OpenAI a créé le modèle de langage préentraîné génératif dans GitHub Copilot, alimenté par OpenAI Codex. Une extension est disponible pour Visual Studio Code, (VS Code), Visual Studio, Neovim et la suite JetBrains d’environnements de développement intégrés (IDE).

Objectifs d’apprentissage

À la fin de ce module, vous serez en mesure de :

  • Comprendre comment GitHub Copilot vous permet de coder grâce à des suggestions de type autocomplétion.
  • Comprendre les diverses façons de déclencher GitHub Copilot.
  • Comprendre les différences entre GitHub Copilot Free, Pro, Business et Enterprise.
  • Savoir comment configurer GitHub Copilot.
  • Savoir comment résoudre les problèmes liés à GitHub Copilot.

Prérequis

  • GitHub
  • Connaissance de base des notions fondamentales de GitHub

GitHub Copilot, votre partenaire de programmation en binôme basé sur l’IA

Ce n’est un secret pour personne que l’IA chamboule le monde technologique. L’IA modifie profondément le fonctionnement du monde, de chaque organisation et de chaque équipe. Ces avancées de l’IA servent de catalyseur et peuvent améliorer considérablement la productivité des développeurs du monde entier à mesure qu’ils l’utilisent et l’appliquent correctement.

L’ajout des fonctionnalités IA aux outils de développement que vous utilisez et adorez vous permet de collaborer, développer, de tester et envoyer vos produits plus rapidement et plus efficacement que jamais. GitHub Copilot est un service qui vous fournit aux développeurs un partenaire de programmation basé sur l’IA qui fonctionne avec tous les langages de programmation connus.

D’après des récentes recherches, GitHub et Microsoft ont constaté que les développeurs bénéficient d’un gain de productivité significatif lorsqu’ils utilisent GitHub Copilot dans leurs projets et tâches réels. En fait, au cours des trois années suivant son lancement, les développeurs ont confirmé les avantages suivants en utilisant GitHub Copilot :

  • 46 % du nouveau code est désormais écrit par l’IA
  • 55 % d’amélioration de la productivité des développeurs globale
  • 74 % des développeurs se sentent plus concentrés sur un travail satisfaisant

Microsoft a développé GitHub Copilot en partenariat avec OpenAI. GitHub Copilot est optimisé par le système OpenAI Codex. OpenAI Codex a une connaissance étendue de la façon dont les programmeurs utilisent le code. Il est également plus performant que GPT-3 dans la génération de code. OpenAI Codex est plus efficace, en partie parce que son apprentissage a été effectué sur un jeu de données incluant une concentration plus grande de code source public.

GitHub Copilot est disponible en tant qu’extension pour Visual Studio Code, Visual Studio, Vim/Neovim et la suite JetBrains des IDE (environnement de développement intégré).

Fonctionnalités de GitHub Copilot

GitHub Copilot a amorcé une nouvelle ère dans le développement logiciel en tant que partenaire de programmation basé sur l’IA qui permet aux développeurs de rester dans le flux grâce à l’autocomplétion des commentaires et du code. L’autocomplétion basée sur l’IA ne constitue toutefois que le point de départ.

Voici quelques fonctionnalités qui font réellement de GitHub Copilot un outil de développement du futur. Grâce à ces fonctionnalités, GitHub Copilot est beaucoup plus qu’un simple éditeur. Il devient un Assistant IA facilement accessible tout au long du cycle de vie du développement.

Copilot pour les conversations

GitHub Copilot offre une interface de conversation de type ChatGPT dans l’éditeur. L’interface de conversation se concentre sur les scénarios de développement et s’intègre en mode natif à Visual Studio Code et Visual Studio. Elle est profondément intégrée à l’IDE et reconnaît le code tapé par un développeur ainsi que les messages d’erreur qui s’affichent. Un développeur peut obtenir une analyse et des explications approfondies de ce que les blocs de code doivent faire, générer des tests unitaires et même obtenir des suggestions de correctifs de bogues.

Copilot pour les demandes de tirage (pull request)

Le modèle GPT-4 d’OpenAI ajoute un support dans GitHub Copilot pour les balises basées sur l’intelligence artificielle dans les descriptions de demandes de tirage (pull request) via à une application GitHub que les administrateurs de l’organisation et les propriétaires de dépôts peuvent installer. GitHub Copilot remplit automatiquement ces balises en fonction du code modifié. Les développeurs peuvent ensuite passer en revue ou modifier les descriptions suggérées.

Copilot pour l’interface CLI

Après l’éditeur et les demandes de tirage (pull request), le terminal est l’endroit où les développeurs passent le plus de temps. Toutefois, même les développeurs les plus compétents doivent parcourir de nombreuses pages pour mémoriser la syntaxe précise des nombreuses commandes. L’interface de ligne de commande (CLI) GitHub Copilot peut composer des commandes et des boucles, ainsi que lancer des indicateurs find masqués pour répondre à votre requête.

Plans d’abonnement

Le service est disponible via des comptes personnels GitHub avec GitHub Copilot Free et GitHub Copilot Pro, via des comptes d’organisation avec GitHub Copilot Business ou des comptes d’entreprise avec GitHub Copilot Enterprise.

GitHub Copilot Business

GitHub Copilot Business vous permet de contrôler qui a accès à GitHub Copilot dans votre entreprise. Après octroi de l’accès à une organisation, ses administrateurs peuvent ensuite l’accorder aux personnes et aux équipes.

Avec GitHub Copilot Business, GitHub Copilot est ouvert à tous les développeurs, équipes, organisations et entreprises.

Grâce aux fonctionnalités suivantes, GitHub Copilot Business se concentre sur l’amélioration de la productivité, sécurité et satisfaction des organisations :

  • Saisies semi-automatiques de code
  • Conversations dans les IDE et mobiles
  • Filtrer les failles de sécurité
  • Référencement de code
  • Filtre le code public
  • Indemnité de propriété intellectuelle
  • Confidentialité et sécurité de qualité professionnelle

GitHub Copilot Enterprise

GitHub Copilot Enterprise est disponible pour les organisations par GitHub Enterprise Cloud. Ce plan d’abonnement permet à vos équipes de développeurs de :

  • Être rapidement opérationnel sur votre codebase.
  • Générer et rechercher dans une documentation.
  • Obtenir des suggestions basées sur du code interne et privé.
  • Vérifier rapidement les demandes de tirage (pull request).

GitHub Copilot Enterprise comprend tout ce qui est dans GitHub Copilot Business, plus une couche de personnalisation pour les organisations. Il fournit l’intégration à GitHub en tant qu’interface de conversation afin que les développeurs puissent converser à propos de leur codebase. Il offre également des boutons d’action dans toute la plateforme.

GitHub Copilot Enterprise peut indexer le codebase d’une organisation pour bénéficier d’une meilleure compréhension et de suggestions plus personnalisées. Il offre un accès à la personnalisation de GitHub Copilot afin d’ajuster les modèles privés pour la saisie semi-automatique de code.

Interagir avec Copilot

Cette unité explore les différentes façons de maximiser votre interaction avec GitHub Copilot dans votre environnement de développement. En comprenant les fonctionnalités et les capacités de ce service, vous apprendrez à l’utiliser efficacement.

Les sections suivantes décrivent les différentes façons de déclencher et d’utiliser GitHub Copilot, ainsi que des exemples et des raccourcis pour vous aider à en tirer le meilleur parti.

Suggestions en ligne

La forme d’assistance la plus immédiate dans Copilot est celle des suggestions inline. Au fur et à mesure que vous tapez, Copilot analyse votre code et le contexte pour vous proposer des achèvements de code en temps réel. Cette fonctionnalité prédit les prochains mots que vous souhaitez écrire et affiche des suggestions de manière subtile et discrète.

Les suggestions proposées par Copilot apparaissent sous forme de texte grisé devant votre curseur.

  • Pour accepter une suggestion, sélectionnez la touche Tab ou la touche > (flèche droite).
  • Pour rejeter une suggestion, continuez à taper ou sélectionnez la touche Esc.

Les suggestions inline sont particulièrement utiles lorsque vous effectuez des tâches répétitives ou que vous avez besoin d’un code générique rapide.

Voici un exemple :

def calculate_average(numbers):
# Start typing here and watch Copilot suggest the function body

Palette de commandes

La palette de commandes permet d’accéder rapidement aux différentes fonctions de Copilot, de sorte que vous pouvez effectuer des tâches complexes en seulement quelques frappes.

  1. Ouvrez la palette de commandes en sélectionnant Ctrl+Shift+P (Windows/Linux) ou Cmd+Shift+P (Mac).
  2. Pour afficher les commandes disponibles, saisissez Copilot.
  3. Sélectionnez des actions telles que Explique ceci ou Génère des tests unitaires pour obtenir de l’aide.

Copilot chat

Copilot chat est une fonctionnalité interactive qui vous permet de communiquer avec Copilot en utilisant le langage naturel. Vous pouvez poser des questions ou demander des extraits de code, et Copilot fournit des réponses en fonction de vos données.

  1. Ouvrez le panneau de conversation Copilot dans votre environnement de développement intégré (IDE).
  2. Saisissez des questions ou des demandes en langage naturel, puis évaluez la réponse de Copilot.

Par exemple, vous pouvez saisir : « Comment implémenter une recherche binaire en Python ? » Le chat Copilot est idéal pour explorer de nouveaux concepts de codage ou obtenir de l’aide pour une syntaxe peu familière.

Copilot peut répondre avec :

def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1

Conversation incluse

Les conversations inline permettent de dialoguer avec Copilot selon les spécificités du contexte, directement dans votre éditeur de code. Vous pouvez utiliser cette fonctionnalité pour demander des modifications ou des explications sur le code sans changer de contexte.

  1. Placez votre curseur à l’endroit où vous souhaitez obtenir de l’aide.
  2. Pour ouvrir une conversation inline, utilisez le raccourci clavier Ctrl+I (Windows/Linux) ou Cmd+I (Mac).
  3. Posez des questions ou demandez des modifications spécifiques à cet emplacement de code.

Les conversations inline vous permettent de vous concentrer sur une section particulière de votre code et d’obtenir des conseils ciblés.

Commentaires sur le code

Copilot s’appuie sur le traitement du langage naturel pour convertir les commentaires en code. Vous pouvez décrire la fonctionnalité que vous souhaitez dans un commentaire. Lorsque vous sélectionnez la touche Enter, Copilot génère du code sur la base de votre description.

Voici un exemple :

Function to reverse a string

def reverse_string(s):
# Copilot suggests the function body here
Function to reverse a string

def reverse_string(s):
return s[::-1]

Cette approche permet de rédiger rapidement un code, en particulier lorsque la tâche est simple.

Plusieurs suggestions

Pour les extraits de code complexes, Copilot peut proposer plusieurs alternatives.

  1. Lorsque Copilot propose une suggestion, recherchez l’icône d’ampoule.
  2. Pour passer d’une option à l’autre, sélectionnez l’icône ou utilisez Alt+] (Windows/Linux) ou Option+] (Mac).

Les multiples suggestions vous aident à explorer différentes approches de codage et à sélectionner la plus appropriée.

Explications

La compréhension du code existant est cruciale, en particulier dans les grands projets. Pour obtenir des explications sur les extraits de code, vous pouvez utiliser la fonctionnalité Explique ceci.

  1. Sélectionnez un bloc de code.
  2. Cliquez avec le bouton droit sur le bloc de code, puis sélectionnez Copilot : Explique ceci dans le menu contextuel.
  3. Lisez l’explication fournie par Copilot pour le code sélectionné.

Cette fonctionnalité est utile à des fins d’apprentissage et lorsque vous révisez le code écrit par quelqu’un d’autre.

Génération de test automatisée

Les tests unitaires sont essentiels pour garantir la qualité et la fiabilité du code. Copilot peut vous faire gagner du temps et des efforts en générant des tests unitaires pour vos fonctions ou vos classes.

  1. Sélectionnez une fonction ou une classe.
  2. Utilisez la palette de commandes pour sélectionner Copilot : Génère des tests unitaires.
  3. Passez en revue les cas de test que Copilot suggère pour votre code.

Voici un exemple :

def add(a, b):
return a + b

Copilot might generate a test like this:

def test_add():
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0

La génération automatisée de tests vous aide à maintenir l’intégrité du code et à détecter les bogues dès le début du processus de développement.

N’oubliez pas que Copilot apprend à partir du contexte. Copilot fournit une assistance plus précise et plus pertinente lorsque votre code est bien structuré et commenté. Plus vous interagissez avec Copilot, mieux il comprend votre style de codage et vos préférences.

Installer, configurer et résoudre les problèmes liés à GitHub Copilot

Cette unité explique comment s’inscrire à GitHub Copilot, comment configurer GitHub Copilot à l’aide de VS Code et comment résoudre les problèmes liés à GitHub Copilot à l’aide de VS Code.

S’inscrire à GitHub Copilot

Avant de pouvoir commencer à utiliser GitHub Copilot, vous devez configurer un essai gratuit ou un abonnement pour votre compte.

Pour commencer, sélectionnez votre photo de profil GitHub, puis sélectionnez Paramètres. Copilot se trouve dans le menu de gauche sous Code, planification et automatisation.

Après vous être inscrit, vous devez installer une extension pour l’environnement de votre choix. GitHub Copilot prend en charge GitHub.com (qui ne nécessite pas d’extension), VS Code, Visual Studio, les IDE JetBrains et Neovim en tant qu’extension discrète.

Pour ce module, vous allez simplement passer en revue les extensions et les configurations pour VS Code. L’exercice que vous allez effectuer dans l’unité suivante utilise VS Code.

Si vous utilisez un autre environnement, vous trouverez des liens spécifiques pour configurer d’autres environnements dans la section « Références » à la fin de ce module.

Configurer GitHub Copilot dans VS Code

Ajouter l’extension VS Code pour GitHub Copilot

  1. Dans Visual Studio Marketplace, accédez à la page de l’extension GitHub Copilot et sélectionnez Installer.
  2. Une boîte de dialogue contextuelle vous demande d’ouvrir VS Code. Sélectionnez Ouvrir.
  3. Dans VS Code, sur l’onglet Extension : GitHub Copilot, sélectionnez Installer.
  4. Si vous n’avez pas précédemment autorisé VS Code dans votre compte GitHub, vous êtes invité à vous connecter à GitHub dans VS Code. Sélectionnez Se connecter à GitHub.

GitHub Copilot permet l’autocomplétion du code pendant la saisie quand vous utilisez VS Code. Après l’installation, vous pouvez activer ou désactiver GitHub Copilot et configurer des paramètres avancés dans VS Code.

Activer ou désactiver GitHub Copilot dans VS Code

  1. Dans le volet inférieur de la fenêtre VS Code, sélectionnez l’icône de l’état, puis sélectionnez Activer ou Désactiver.Capture d’écran de l’icône de l’état pour GitHub Copilot dans Visual Studio Code. Lorsque GitHub Copilot est activé, la couleur d’arrière-plan correspond à la couleur de la barre d’état.
  2. Lors de la désactivation de GitHub Copilot, VS Code vous demande si vous souhaitez désactiver les complétions globalement ou pour la langue du fichier que vous modifiez actuellement.
    • Pour désactiver les achèvements GitHub Copilot globalement, sélectionnez Désactiver les achèvements.
    • Pour désactiver les achèvements de GitHub Copilot pour une langue donnée, sélectionnez Désactiver les achèvements pour LANGUAGE.

Activer ou désactiver les suggestions inline dans VS Code

  1. Dans le menu Fichier, sélectionnez Paramètres >des préférences.
  1. Dans le volet gauche de l’onglet Paramètres, sélectionnez Extensions, puis GitHub Copilot.
  2. Sous Éditeur : Activer les autocomplétions, cochez ou désactivez la case pour activer ou désactiver les suggestions inline.

Vous pouvez également choisir d’activer ou de désactiver des suggestions inline et spécifier les langages pour lesquels vous souhaitez activer ou désactiver GitHub Copilot.

Résoudre les problèmes liés à GitHub Copilot dans VS Code

Dans VS Code, les fichiers journaux sont utiles pour effectuer le diagnostic des problèmes de connexion. L’extension GitHub Copilot stocke les fichiers journaux dans l’emplacement de journal standard des extensions VS Code. Vous pouvez trouver les fichiers journaux en ouvrant la palette de commandes, puis en entrant Développeur : Ouvrir le fichier journal ou Développeur : Ouvrir le dossier des journaux d’extensions.

Dans de rares cas, les erreurs ne sont pas consignées dans les emplacements habituels. Si vous rencontrez des erreurs et qu’il n’y a rien dans les journaux, essayez d’afficher les journaux du processus qui exécute VS Code ainsi que ceux de l’extension. Ce processus permet d’afficher les journaux Electron. Vous pouvez trouver ces journaux en sélectionnant Aide>Activer/désactiver les outils de développement dans VS Code.

Les restrictions réseau, les pare-feu ou votre proxy peuvent causer des problèmes lorsque vous vous connectez à GitHub Copilot. Si un problème se produit, procédez comme suit pour ouvrir un nouvel éditeur et consulter les informations pertinentes que vous pouvez inspecter vous-même ou partager avec l’équipe du support technique :

  1. Ouvrez la palette de commandes de VS Code, puis :
    • Pour Mac, utilisez Shift+Command+P.
    • Pour Windows ou Linux, utilisez Ctrl+Shift+P.
  2. Entrez Diagnostics, puis sélectionnez GitHub Copilot : Collecter les diagnostics à partir de la liste.

Exercice : développer des suggestions de code basé sur l’intelligence artificielle en utilisant GitHub Copilot et VS Code

Cet exercice vous guide tout au long des étapes suivantes :

  • Installer GitHub Copilot à l’aide de GitHub Codespaces
  • Demander des suggestions de code à GitHub Copilot
  • Accepter les suggestions de code de GitHub Copilot

Instructions

  1. Sélectionnez le bouton Démarrer l’exercice sur GitHub en bas de cette page. Vous accédez à un référentiel de modèles GitHub public qui vous invite à effectuer une série de petits défis.
  2. Sélectionnez le bouton Démarrer le cours ou la fonctionnalité Utiliser ce modèle dans le référentiel de modèles. Cette action vous invite à créer un référentiel. Nous vous recommandons de créer un référentiel public, car les référentiels privés utilisent des minutes GitHub Actions.Après avoir créé votre propre dépôt à partir du modèle, attendez environ 20 secondes et actualisez.
  3. Suivez les instructions de l’onglet LISEZMOI du référentiel pour comprendre les principes de l’exercice, ses objectifs d’apprentissage, et la manière de le réussir.
  4. Lorsque vous aurez terminé l’exercice sur GitHub, revenez à ce module pour découvrir ce qui suit :
    • Contrôler rapidement vos connaissances.
    • Un résumé de ce que vous avez appris.
    • Un badge attestant que vous avez suivi ce module.

Notes

Vous n’avez pas besoin de modifier les fichiers de ce workflow pour faire cet exercice. La modification du contenu de ce workflow peut interrompre la capacité de l’exercice à valider vos actions, à fournir des commentaires ou à classer les résultats.

Résumé

GitHub vise à personnaliser GitHub Copilot pour chaque équipe, projet et référentiel qui l’utilise. L’objectif est d’améliorer le cycle de vie du développement logiciel, de l’écriture de code à l’envoi de demandes de tirage (pull) et au-delà.

Avec le modèle de connaissances de Microsoft, GitHub exploite le réservoir de données et d’insights existant dans chaque organisation pour renforcer la relation entre l’ensemble des employés et l’équipe de développeurs. Ces insights aident à transformer en douceur chaque idée de code en réalité. Par ailleurs, GitHub continue d’innover et de mettre à jour le cœur de GitHub Copilot, le partenaire de programmation en binôme basé sur l’IA à l’origine de ces développements.

GitHub Copilot annonce l’arrivée d’une nouvelle génération de développeurs plus productifs, satisfaits et heureux, qui livrent de meilleurs logiciels pour tout le monde.

Maintenant que vous avez terminé ce module, vous devez pouvoir :

  • Expliquer les fonctionnalités de GitHub Copilot et les formules d’abonnement (Free, Pro, Business et Enterprise).
  • Prise en main et configuration de GitHub Copilot.
  • Développez à l’aide de GitHub Copilot et de VS Code.