Explorer les fonctionnalités d’assistance IA de GitHub Copilot

Effectué

La Conversation GitHub Copilot s’intègre à l’interface utilisateur de Visual Studio Code pour fournir de l’aide là où vous en avez besoin.

Voici quelques façons d’accéder aux fonctionnalités GitHub Copilot Chat dans Visual Studio Code :

  • Ouvrez la vue Conversation pour accéder à un assistant IA qui peut vous aider à tout moment.
  • Démarrez une conversation en ligne directement à partir de l’éditeur pour obtenir de l’aide pendant que vous codez.
  • Exécutez des actions intelligentes pour effectuer certaines tâches sans même avoir à écrire un prompt.
  • Ouvrez la fenêtre de conversation rapide pour une conversation rapide et interactive avec l’IA.

Cas d’usage de GitHub Copilot Chat

GitHub Copilot Chat offre une assistance pour la plupart des scénarios de codage. Les sections qui suivent décrivent certains de ces scénarios.

Explication et documentation du code

Copilot Chat peut aider à expliquer le code sélectionné en générant des descriptions en langage naturel de la fonctionnalité et de l’objectif du code. Cela peut être utile si vous souhaitez comprendre le comportement du code ou pour les parties prenantes non techniques qui doivent comprendre le fonctionnement du code. Par exemple, si vous sélectionnez une fonction ou un bloc de code dans l’éditeur de code, Copilot Chat peut générer une description en langage naturel de ce que le code fait et comment il s’intègre dans le système global. Ceci peut inclure des informations comme les paramètres d’entrée et de sortie de la fonction, ses dépendances et son objectif dans l’application au sens plus large.

En générant des explications et de la documentation, Copilot Chat peut vous aider à comprendre le code sélectionné, ce qui améliore la collaboration et facilite le développement logiciel.

Répondre à des questions sur le codage

Vous pouvez demander à Copilot Chat de l’aide ou des clarifications sur des problèmes de codage spécifiques et recevoir des réponses au format de langage naturel ou d’extrait de code. Il s’agit d’un outil utile pour les programmeurs, car il fournit des conseils et une assistance pour les tâches de codage courantes et les défis.

Proposition de correctifs de bogues

Copilot Chat peut proposer un correctif pour les bogues dans votre code en suggérant des extraits de code et des solutions en fonction du contexte de l’erreur ou du problème. Cela est utile si vous avez du mal à identifier la cause racine d’un bogue ou si vous avez besoin de conseils sur la meilleure façon de le corriger. Par exemple, si votre code génère un message d’erreur ou un avertissement, Copilot Chat peut suggérer des correctifs possibles en fonction du message d’erreur, de la syntaxe du code et du code environnant.

Copilot Chat peut suggérer des modifications à apporter aux variables, aux structures de contrôle ou aux appels de fonction susceptibles de résoudre le problème et générer des extraits de code qui peuvent être incorporés dans le codebase. Cependant, il est important de noter que les correctifs suggérés peuvent ne pas toujours être optimaux ou complets : vous devez donc passer en revue et tester les suggestions.

Génération de cas de test unitaire

Copilot Chat peut vous aider à écrire des cas de test unitaire en générant des extraits de code basés sur le code ouvert dans l’éditeur ou l’extrait de code que vous mettez en surbrillance dans l’éditeur. Cela vous aide à écrire des cas de test pour passer moins de temps sur les tâches répétitives. Par exemple, si vous écrivez un cas de test pour une fonction spécifique, vous pouvez utiliser Copilot Chat pour suggérer les paramètres d’entrée possibles et les valeurs de sortie attendues en fonction de la signature et du corps de la fonction. Copilot Chat peut également suggérer des assertions qui vérifient si la fonction s’exécute correctement, selon le contexte et la sémantique du code.

Copilot Chat peut également vous aider à écrire des cas de test pour les situations extrêmes et les conditions limites qui peuvent être difficiles à identifier manuellement. Par exemple, Copilot Chat peut suggérer des cas de test pour la gestion des erreurs, les valeurs null ou les types d’entrée inattendus, ce qui vous permet de vous assurer que votre code est robuste et résilient. Toutefois, il est important de noter que les cas de test générés peuvent ne pas couvrir tous les scénarios possibles, et que les tests manuels et la révision du code sont toujours nécessaires pour garantir la qualité du code.

Suggestion d’améliorations d’un codebase existant

Copilot Chat peut également suggérer des améliorations potentielles pour le code sélectionné. Par exemple, Copilot Chat peut suggérer des améliorations dans les catégories suivantes :

  • Qualité du code : Copilot Chat peut suggérer des façons d’améliorer la lisibilité, la maintenance et les performances de votre code. Cela peut inclure des suggestions de refactorisation, de simplification du code et de modularité.
  • Fiabilité du code : Copilot Chat peut suggérer des façons de rendre votre code plus robuste et plus fiable. Cela peut inclure des suggestions pour la gestion des erreurs, la validation des entrées et la programmation défensive.
  • Performances du code : Copilot Chat peut suggérer des façons d’optimiser les performances de votre code. Cela peut inclure des suggestions d’améliorations algorithmiques, d’optimisations de structure de données et de parallélisation.
  • Sécurité du code : Copilot Chat peut suggérer des façons de rendre votre code plus sécurisé. Cela peut inclure des suggestions pour l’assainissement des entrées, le contrôle d’accès et le chiffrement.

En suggérant des améliorations, Copilot Chat peut vous aider à écrire un code de meilleure qualité, plus lisible, fiable, performant et sécurisé.

Fonctionnement

GitHub Copilot Chat utilise une combinaison de traitement du langage naturel et d’apprentissage automatique pour comprendre votre question et vous fournir une réponse. Ce processus comporte les étapes suivantes :

Traitement de l’entrée

Le prompt saisi par l’utilisateur est prétraité par le système Copilot Chat et envoyé à un modèle de langage volumineux pour obtenir une réponse basée sur le contexte et le prompt. L’entrée utilisateur peut prendre la forme d’extraits de code ou être exprimée en langage normal. Le système est destiné seulement à répondre à questions relatives au codage.

Analyse du modèle de langage

Le prompt prétraité passe ensuite par le modèle de langage Copilot Chat, qui est un réseau neuronal entraîné sur un grand corpus de données de texte. Le modèle de langage analyse la demande entrée.

Génération de la réponse

Le modèle de langage génère une réponse en fonction de son analyse de la demande entrée et du contexte fourni. Cette réponse peut se présenter sous forme de code généré, de code suggéré ou d’explications du code existant.

Mise en forme de la sortie

La réponse générée par Copilot Chat est mise en forme et présentée à l’utilisateur. Copilot Chat peut utiliser la mise en surbrillance de la syntaxe, la mise en retrait et d’autres fonctionnalités de mise en forme pour ajouter de la clarté à la réponse générée. Selon le type de question de l’utilisateur, des liens vers le contexte utilisé par le modèle lors de la génération d’une réponse, comme les fichiers de code source ou la documentation, peuvent également être fournis.

GitHub Copilot Chat a pour objectif de vous fournir la réponse la plus pertinente à votre question. Toutefois, il peut ne pas toujours fournir la réponse que vous recherchez. Les utilisateurs de Copilot Chat sont responsables de vérifier et de valider les réponses générées par le système pour s’assurer qu’elles sont exactes et appropriées.

Résumé

La Conversation GitHub Copilot s’intègre à l’interface utilisateur de Visual Studio Code pour fournir de l’aide là où vous en avez besoin. Vous pouvez utiliser Copilot Chat pour expliquer et documenter le code, répondre aux questions de codage, proposer des correctifs de bogues, générer des cas de test unitaire et suggérer des améliorations à une base de code existante. Copilot Chat utilise une combinaison de traitement du langage naturel et d’apprentissage automatique pour comprendre votre question et vous fournir une réponse.