Introduction à l'utilisation de Copilot
Categories:
- Capacités de Copilot Labs
- Copilot, c’est quoi ?
- Comprendre
- Recommandations
- Déboguer
- Révision
- Refactorisation
- Documentation
- Utiliser Custom pour étendre les frontières de Copilot
- Obtenir des conseils plus professionnels
- Conseils en texte brut
- Options de configuration
- Sécurité des données
- Questions fréquentes
GitHub Copilot est un outil de complétion de code basé sur l’apprentissage automatique, qui vous aide à écrire du code plus rapidement et à améliorer l’efficacité de la programmation.
Capacités de Copilot Labs
| Capacité | Description | Remarques | example |
|---|---|---|---|
Explain | Générer des explications pour des fragments de code | Options avancées pour personnaliser les invites, expliquer plus clairement ses besoins | ![]() |
Show example code | Générer des exemples de code pour des fragments de code | Options avancées pour personnaliser | ![]() |
Language Translation | Générer des traductions pour des fragments de code | Cette traduction est basée sur les langages de programmation, par exemple C++ -> Python | ![]() |
Readable | Améliorer la lisibilité d’un code | Pas simplement une mise en forme, mais une véritable amélioration de la lisibilité | ![]() |
Add Types | Inférence de types | Convertir les variables à type automatique en types explicites | ![]() |
Fix bug | Corriger les bugs | Corriger certains bugs courants | ![]() |
Debug | Rendre le code plus facile à déboguer | Ajouter des logs ou des variables temporaires pour les points d’arrêt | ![]() |
Clean | Nettoyer le code | Supprimer les parties inutiles du code, commentaires/impressions/code obsolète, etc. | ![]() |
List steps | Lister les étapes du code | Certains codes dépendent strictement de l’ordre d’exécution, il faut clairement commenter l’ordre d’exécution | ![]() |
Make robust | Rendre le code plus robuste | Considérer les limites/threads multiples/re-entrée, etc. | ![]() |
Chunk | Découper le code | Généralement, on souhaite que les fonctions aient <=50 lignes effectives, une imbrication <=4, un éventail <=7, et une complexité cyclomatique <=20 | ![]() |
Document | Générer la documentation du code | Générer du code via des commentaires, ou générer des commentaires et documentation à partir du code | ![]() |
Custom | Opérations personnalisées | Indiquer à copilot comment manipuler votre code | ![]() |
Copilot, c’est quoi ?
L’introduction du site officiel est simple et claire : Votre programmeur pair AI —— Votre programmeur en binôme
Programmation en binôme : Une méthode de développement logiciel agile où deux programmeurs collaborent sur un même ordinateur : l’un tape le code, l’autre examine chaque ligne de code. Les rôles changent fréquemment pour assurer une logique rigoureuse et prévenir les problèmes.
Copilot participe au travail de codage de différentes manières, incarnant le rôle de programmeur en binôme.
Comprendre
Copilot est un grand modèle de langage ; il ne comprend pas notre code, et nous ne comprenons pas non plus le modèle de Copilot. Ici, comprendre signifie la compréhension mutuelle entre un programmeur et un groupe de programmeurs. Nous écrivons ensemble du code basé sur certains consensus.

Copilot collecte des informations pour comprendre le contexte. Les informations incluent :
- Code en cours d’édition
- Fichiers associés
- Fichiers ouverts dans l’IDE
- URL du dépôt
- Chemin du fichier
Copilot ne comprend pas seulement en se basant sur un commentaire, il collecte suffisamment d’informations contextuelles pour comprendre ce qui doit être fait ensuite.
Recommandations
| Recommandations entières | Recommandations inline |
|---|---|
![]() | ![]() |
Comme on le sait, le moyen le plus courant d’obtenir des recommandations est de décrire les besoins dans un commentaire plutôt que d’écrire directement du code, guidant ainsi GitHub Copilot à fournir des recommandations complètes. Cependant, cela peut entraîner un problème de redondance des commentaires. Les commentaires ne sont pas meilleurs en plus grande quantité ; ils aident à la compréhension, mais ils ne sont pas le corps du code. Un bon code est clair même sans commentaires, grâce à une bonne nomination, une conception raisonnable et une logique claire. Lors de l’utilisation de recommandations inline, il suffit de donner des noms de variables/fonctions/classes appropriés, et Copilot peut toujours fournir des recommandations appropriées.
Outre les entrées externes appropriées, Copilot prend également en charge les recommandations basées sur des fragments de code existants. Copilot Labs -> Show example code peut aider à générer des exemples de code pour des fonctions spécifiques, il suffit de sélectionner le code et de cliquer sur Show example code.
Ctrl+Enter peut toujours donner beaucoup d’inspiration. J’ai créé trois fichiers : un fichier main.cpp vide, un fichier calculator.h vide, et dans calculator.cpp, j’ai implémenté “addition” et “soustraction”. Copilot a fourni les recommandations suivantes :
- Ajouter les implémentations de “multiplication” et “division”
- Appeler les implémentations “addition, soustraction, multiplication, division” dans main
- Méthode de création et d’utilisation d’une bibliothèque statique calculator
- Résultat d’exécution de la fonction main, avec un résultat correct
- Contenu suggéré pour l’en-tête calculator.h
- Commande de compilation g++
- Cas de test gtest
- Contenu de CMakeLists.txt, incluant les tests
- objdump -d main > main.s pour afficher le code assembleur, et afficher le code assembleur
- ar pour afficher le contenu de la bibliothèque statique, et afficher le contenu de la bibliothèque statique
Avec la configuration par défaut, chaque frappe de Ctrl+Enter affiche un contenu très différent, impossible de revoir le contenu généré la dernière fois. Si vous avez besoin d’un contenu généré plus stable, vous pouvez définir la valeur de temperature [0, 1]. Plus la valeur est petite, plus le contenu généré est stable ; plus la valeur est grande, plus le contenu généré est imprévisible.
Les raccourcis clavier pour utiliser les recommandations de Copilot
| Action | Raccourci | Nom de la commande |
|---|---|---|
| Accepter les recommandations inline | Tab | editor.action.inlineSuggest.commit |
| Ignorer les recommandations | Esc | editor.action.inlineSuggest.hide |
| Afficher la recommandation inline suivante | Alt+] | editor.action.inlineSuggest.showNext |
| Afficher la recommandation inline précédente | Alt+[ | editor.action.inlineSuggest.showPrevious |
| Déclencher les recommandations inline | Alt+\ | editor.action.inlineSuggest.trigger |
| Afficher plus de recommandations dans un panneau séparé | Ctrl+Enter | github.copilot.generate |
Déboguer
Deux méthodes de débogage généralement utilisées : impression et points d’arrêt.
- Copilot peut aider à générer automatiquement du code d’impression, en utilisant selon le contexte l’impression ou le journal approprié.
- Copilot peut aider à modifier la structure du code existant, en fournissant des positions de points d’arrêt pratiques. Certains codes de style imbriqué sont difficiles à interrompre, Copilot peut les modifier directement.
Copilot Labs a pré-configuré les fonctionnalités suivantes :
- Debug, générer du code de débogage, par exemple des impressions, des points d’arrêt et d’autres codes de débogage.
Révision
La révision est mutuelle ; nous et copilot devons souvent nous réviser mutuellement, ne croyez pas aveuglément au code généré rapidement.
Copilot Labs a pré-configuré les fonctionnalités suivantes :
- Fix bug, corriger directement les bugs qu’il découvre, il faut d’abord sauvegarder son propre code et examiner attentivement les modifications de Copilot.
- Make robust, rendre le code plus robuste, Copilot découvrira les situations non traitées et générera des codes d’amélioration, nous devrions être inspirés par cela et penser plus méticuleusement.
Refactorisation
Copilot Labs a pré-configuré les fonctionnalités suivantes :
- Readable, améliorer la lisibilité, une véritable amélioration de la lisibilité, pas simplement une mise en forme, mais il faut être très prudent lors de l’examen des modifications de Copilot.
- Clean, rendre le code plus concis, en supprimant le code inutile.
- Chunk, rendre le code plus facile à comprendre, en divisant le code en morceaux, en divisant une grande fonction en plusieurs petites fonctions.
Documentation
Copilot Labs a pré-configuré les fonctionnalités suivantes :
- Document, générer de la documentation, par exemple des commentaires de fonctions et d’autres documents.
Utiliser Custom pour étendre les frontières de Copilot
Custom n’est pas très remarquable, mais il rend Copilot infiniment possible. Nous pouvons le comprendre comme un nouveau langage de programmation, ce langage de programmation étant l’anglais ou le chinois.
Vous pouvez saisir via Custom
Supprimer le code commenté
Ajouter la capacité de multiplication et division
Réécrire en go
Ajouter le calcul des fonctions trigonométriques
Ajouter le calcul différentiel, le chinois ne fonctionne pas bien ici, utilisezsupport calculate differential, en mode basse température, aucune réponse fiable, en mode haute température, quelques réponses extravagantes.
Dans le travail quotidien, vous pouvez à tout moment faire part à Copilot de vos besoins, grâce à la capacité Custom, vous pouvez demander à Copilot de vous aider à accomplir de nombreuses opérations souhaitées.
Quelques exemples :
| prompts | Description |
|---|---|
generate the cmake file | Générer le fichier cmake |
generate 10 test cases for tan() | Générer 10 cas de test pour tan() |
format like google style | Formatter le code |
考虑边界情况 | Considérer les cas limites |
确认释放内存 | Confirmer la libération de la mémoire |
L’utilisation de Custom est pleine d’imagination, mais parfois pas très fiable. Il est recommandé de sauvegarder son code avant de l’utiliser, puis de bien examiner les modifications apportées par Copilot.
Obtenir des conseils plus professionnels
Plus les indices donnés à Copilot sont clairs, plus ses recommandations sont précises. Des indices professionnels permettent d’obtenir des recommandations plus professionnelles. Beaucoup de code inapproprié n’affecte ni la compilation du code ni le fonctionnement de l’entreprise, mais affecte la lisibilité, la maintenabilité, l’extensibilité, la réutilisation, ces caractéristiques sont également très importantes. Si vous souhaitez obtenir des recommandations plus professionnelles, il est préférable de connaître les noms anglais des meilleures pratiques.
- Commencez par utiliser un anglais compréhensible, vous pouvez apprendre l’anglais en regardant des projets open source.
- Conventions de nommage, le nommage est la définition la plus fondamentale d’un concept, un bon nommage peut éviter les ambiguïtés, éviter que le lecteur ne s’enfonce dans les détails de l’entreprise, améliorant ainsi la lisibilité du code, c’est aussi une meilleure pratique.
- Souvent, il suffit d’un nom de variable raisonnable pour que Copilot fournisse une suggestion entière et fiable.
- Liste des modèles de conception, les modèles de conception sont un modèle de résolution de problèmes, en faisant des compromis raisonnables entre les principes de conception SOLID pour différents problèmes, économisant du temps de conception de solution et améliorant la qualité du code.
- Il suffit d’écrire le nom du modèle requis, Copilot peut générer un fragment de code complet.
- Liste des algorithmes, de bons algorithmes sont des condensations de haute intelligence pour résoudre une catégorie de problèmes, les développeurs doivent abstraire les problèmes spécifiques par eux-mêmes, et entrer les données abstraites dans l’algorithme.
- Le code d’algorithme est généralement universel, il suffit d’écrire le nom de l’algorithme, Copilot peut générer un fragment de code d’algorithme, et Copilot peut toujours ingénieusement appliquer les structures de données du contexte aux algorithmes.
Conseils en texte brut
| en | zh |
|---|---|
| GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor. | GitHub Copilot utilise OpenAI Codex pour suggérer du code et des fonctions entières en temps réel, directement depuis votre éditeur. |
| Trained on billions of lines of code, GitHub Copilot turns natural language prompts into coding suggestions across dozens of languages. | Entraîné sur des milliards de lignes de code, GitHub Copilot transforme les invites en langage naturel en suggestions de codage dans des dizaines de langues. |
| Don’t fly solo. Developers all over the world use GitHub Copilot to code faster, focus on business logic over boilerplate, and do what matters most: building great software. | Ne volez pas en solo. Les développeurs du monde entier utilisent GitHub Copilot pour coder plus rapidement, se concentrer sur la logique métier plutôt que sur les codes types, et faire ce qui importe le plus : construire d’excellents logiciels. |
| Focus on solving bigger problems. Spend less time creating boilerplate and repetitive code patterns, and more time on what matters: building great software. Write a comment describing the logic you want and GitHub Copilot will immediately suggest code to implement the solution. | Concentrez-vous sur la résolution de problèmes plus importants. Passez moins de temps à créer des codes types et des motifs de code répétitifs, et plus de temps sur ce qui compte : construire d’excellents logiciels. Écrivez un commentaire décrivant la logique que vous voulez et GitHub Copilot suggérera immédiatement du code pour mettre en œuvre la solution. |
| Get AI-based suggestions, just for you. GitHub Copilot shares recommendations based on the project’s context and style conventions. Quickly cycle through lines of code, complete function suggestions, and decide which to accept, reject, or edit. | Obtenez des suggestions basées sur l’IA, rien que pour vous. GitHub Copilot partage des recommandations basées sur le contexte et les conventions de style du projet. Parcourez rapidement les lignes de code, complétez les suggestions de fonctions, et décidez lesquelles accepter, rejeter ou modifier. |
| Code confidently in unfamiliar territory. Whether you’re working in a new language or framework, or just learning to code, GitHub Copilot can help you find your way. Tackle a bug, or learn how to use a new framework without spending most of your time spelunking through the docs or searching the web. | Codez en toute confiance dans des territoires inconnus. Que vous travailliez dans un nouveau langage ou framework, ou que vous appreniez simplement à coder, GitHub Copilot peut vous aider à trouver votre chemin. Attaquez un bug, ou apprenez à utiliser un nouveau framework sans passer la majeure partie de votre temps à explorer les docs ou à chercher sur le web. |
Ces traductions sont toutes générées par Copilot, on ne peut pas déterminer si ces suggestions sont basées sur la génération de modèles ou sur le comportement de traduction. En fait, tout contenu anglais que vous écrivez dans la colonne en du tableau peut être traduit (généré) par Copilot dans le contenu de la colonne zh.

Options de configuration
Options de configuration du client
| Option de configuration | Description | Remarques |
|---|---|---|
| temperature | Température d’échantillonnage | 0.0 - 1.0, 0.0 génère les fragments de code les plus courants, 1.0 génère les fragments de code les plus rares et les plus aléatoires |
| length | Longueur maximale des suggestions de code générées | Par défaut 500 |
| inlineSuggestCount | Nombre de suggestions en ligne générées | Par défaut 3 |
| listCount | Nombre de suggestions générées | Par défaut 10 |
| top_p | Priorité d’affichage des suggestions dans les N premières probabilités | Par défaut affiche toutes les suggestions possibles |
Les paramètres du compte personnel comportent deux options, l’une liée aux droits d’auteur et l’autre à la confidentialité.
- Utiliser ou non le code open source pour fournir des suggestions, principalement pour éviter les problèmes de droits d’auteur dans les fragments de code générés par Copilot, évitant ainsi les restrictions de licence open source.
- Autoriser ou non l’utilisation de vos propres fragments de code pour améliorer le produit, évitant ainsi les risques de fuite de confidentialité.
Sécurité des données
Collecte d’informations de Copilot
- Version commerciale
- Informations d’utilisation des fonctionnalités, pouvant contenir des informations personnelles
- Collecte de fragments de code, les jette immédiatement après avoir fourni des suggestions, ne conserve aucun fragment de code
- Partage de données, GitHub, Microsoft, OpenAI
- Version personnelle
- Informations d’utilisation des fonctionnalités, pouvant contenir des informations personnelles
- Collecte de fragments de code, selon le paramètre telemetry personnel, les conserve ou les jette après avoir fourni des suggestions
- Les fragments de code comprennent : code en cours d’édition, fichiers associés, fichiers ouverts dans l’IDE, URL du dépôt, chemin du fichier
- Partage de données, GitHub, Microsoft, OpenAI
- Protection des données de code, 1. Chiffrement. 2. Certain employés de GitHub/OpenAI liés à l’équipe Copilot peuvent y accéder. 3. L’accès nécessite un contrôle d’accès basé sur les rôles et une authentification multifacteur
- Éviter que les fragments de code soient utilisés (conservés ou formés), 1. Configurer 2. Contacter l’équipe Copilot
- Le code privé sera-t-il utilisé ? Non.
- Le code généré affichera-t-il des informations personnelles (nom, anniversaire, etc.) ? Rare, encore en amélioration.
- Déclaration de confidentialité détaillée
Questions fréquentes
- Les données d’entraînement de Copilot proviennent des dépôts publics de Github.
- Le code écrit par Copilot est-il parfait ? Pas nécessairement.
- Peut-il écrire du code pour une nouvelle plateforme ? Capacité limitée pour le moment.
- Comment utiliser Copilot de manière plus efficace ? Diviser le code en petites fonctions, décrire la fonction de la fonction en langage naturel, ainsi que les entrées et sorties, utiliser des noms de variables et de fonctions avec un sens spécifique.
- Le code généré par Copilot contient-il des bugs ? Bien sûr, impossible à éviter.
- Le code généré par Copilot peut-il être utilisé directement ? Pas nécessairement, parfois il faut le modifier.
- Le code généré par Copilot peut-il être utilisé pour des projets commerciaux ? Oui.
- Le code généré par Copilot appartient-il aux droits de propriété intellectuelle de Copilot ? Non.
- Copilot copie-t-il le code à partir du jeu de données d’entraînement ? Copilot ne copie pas le code, il y a une très faible probabilité qu’il existe plus de 150 lignes de code pouvant correspondre au jeu de données d’entraînement, les deux cas suivants peuvent se produire
- Lorsque les informations de contexte sont très limitées
- C’est une solution à un problème commun
- Comment éviter la répétition avec le code public, définir le filtre

- Comment utiliser correctement le code généré par Copilot ? 1. Tester/inspecter soi-même le code généré ; 2. Ne pas compiler ou exécuter automatiquement le code généré avant l’inspection.
- Copilot a-t-il la même performance dans chaque langue naturelle ? La meilleure performance est en anglais.
- Copilot générera-t-il du contenu offensant ? Un filtre a été mis en place, mais il n’est pas exclu qu’il puisse apparaître.














