Examiner les fonctionnalités d'assistance d'IA de GitHub Copilot

Effectué

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

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

  • Ouvrez la vue Conversation pour accéder à un assistant IA qui peut vous aider à tout moment.
  • 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 pour GitHub Copilot

GitHub Copilot offre de l’aide pour la plupart des scénarios de codage. Les sections qui suivent décrivent certains de ces scénarios.

Explication et documentation du code

GitHub Copilot peut aider à expliquer le code sélectionné en générant des descriptions en langage naturel de ses fonctionnalités et objectifs. 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, GitHub Copilot pouvez générer une description du langage naturel de ce que fait le code 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, GitHub Copilot peut vous aider à comprendre le code sélectionné, ce qui entraîne une collaboration améliorée et un développement logiciel plus efficace.

Répondre à des questions sur le codage

Vous pouvez demander GitHub Copilot pour obtenir 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 au format 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

GitHub Copilot pouvez 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, GitHub Copilot pouvez suggérer des correctifs possibles en fonction du message d'erreur, de la syntaxe du code et du code environnant.

GitHub Copilot pouvez suggérer des modifications aux variables, aux structures de contrôle ou aux appels de fonction susceptibles de résoudre le problème et de générer des extraits de code qui peuvent être incorporés dans la base de code. 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

GitHub Copilot peut vous aider à écrire des cas de test unitaires en générant des extraits de code basés sur le code ouvert dans l’éditeur ou l’extrait de code que vous sélectionnez 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 GitHub Copilot pour suggérer des paramètres d'entrée possibles et des valeurs de sortie attendues en fonction de la signature et du corps de la fonction. GitHub Copilot pouvez également suggérer des assertions qui garantissent que la fonction fonctionne correctement, en fonction du contexte et de la sémantique du code.

GitHub Copilot pouvez également vous aider à écrire des cas de test pour les cas de périphérie et les conditions de limite qui peuvent être difficiles à identifier manuellement. Par exemple, GitHub Copilot pouvez 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

GitHub Copilot pouvez également suggérer des améliorations potentielles du code sélectionné. Par exemple, GitHub Copilot pouvez suggérer des améliorations dans les catégories suivantes :

  • Qualité du code : GitHub Copilot peut suggérer des façons d’améliorer la lisibilité, la maintenabilité et les performances de votre code. Cela peut inclure des suggestions de refactorisation, de simplification du code et de modularité.
  • Fiabilité du code : GitHub Copilot 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.
  • Performance du code : GitHub Copilot 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 : GitHub Copilot peut suggérer des moyens d'améliorer la sécurité de votre code. 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, GitHub Copilot peut vous aider à écrire un meilleur code plus lisible, fiable, performant et sécurisé.

Fonctionnement

GitHub Copilot 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

L’invite d’entrée de l’utilisateur est prétraite par le système GitHub Copilot et envoyée à un modèle de langage volumineux pour obtenir une réponse basée sur le contexte et l’invite. 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

L’invite prétraite est ensuite transmise via le modèle de langage GitHub Copilot, qui est un réseau neuronal formé sur un grand corps de données de texte. Le modèle de langage analyse l'invite de saisie.

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 GitHub Copilot est mise en forme et présentée à l’utilisateur. GitHub Copilot pouvez 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 est destiné à 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 GitHub Copilot sont responsables de l'examen et de la validation des réponses générées par le système pour s'assurer qu'elles sont exactes et appropriées.

Résumé

GitHub Copilot s’intègre à l’interface utilisateur Visual Studio Code pour fournir de l’aide là où vous en avez besoin. Vous pouvez utiliser GitHub Copilot 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. GitHub Copilot utilise une combinaison de traitement du langage naturel et d’apprentissage automatique pour comprendre votre question et vous fournir une réponse.