Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette FAQ répond aux questions courantes que peuvent se poser les utilisateurs de C++ sur la modernisation avec GitHub Copilot.
Généralités
Qu’est-ce que la modernisation de C++ avec GitHub Copilot ?
GitHub Copilot modernisation pour C++ est un agent GitHub Copilot pour Visual Studio qui vous permet de moderniser et de mettre à niveau des projets C++ vers des outils, des bibliothèques et des modèles plus récents. Il reconnaît des tâches spécifiques telles que la mise à niveau des outils de génération MSVC vers des versions plus récentes et fournit des outils et des instructions supplémentaires pour accomplir ces tâches. Il automatise l’évaluation, la planification et l’exécution pour accomplir la tâche de modernisation, et vous pouvez l’exécuter en mode entièrement automatisé ou en mode guidé qui vous permet d’approuver chaque étape et de fournir des conseils supplémentaires.
Quels environnements de développement sont pris en charge ?
La modernisation de C++ avec GitHub Copilot est disponible dans Visual Studio 2026 à partir de la version 18.7.
Ai-je besoin d’un abonnement GitHub Copilot ?
Yes. Vous avez besoin d’un abonnement actif GitHub Copilot pour utiliser l’agent de modernisation.
Mon code est-il envoyé aux services externes ?
GitHub Copilot traite les extraits de code conformément à la politique de confidentialité de GitHub Copilot. Le code n’est pas conservé au-delà de la session immédiate. Les fichiers de flux de travail tels que scenario-instructions.md et tasks.md restent dans votre référentiel et ne sont pas transmis aux services externes.
Scénarios de mise à niveau MSVC
Quels types de projets sont pris en charge ?
L’agent prend en charge ces types de projets :
- Projets MSBuild (
.slnet.vcxproj). - Projets basés sur CMake.
L’agent ne prend actuellement pas en charge les projets Unreal Engine (.uproject).
Qu’est-ce que l’agent change réellement dans mon code ?
L’agent modifie le code source pour résoudre les erreurs de build et les avertissements introduits par la mise à niveau vers une version plus récente de MSVC Build Tools. Les modifications courantes incluent le remplacement des API déconseillées, la résolution des problèmes provoqués par l’utilisation d’un compilateur plus conforme, la mise à jour des directives include pour les en-têtes supprimés ou déplacés et la résolution des erreurs de l’éditeur de liens causées par les modifications de bibliothèque. Lorsque votre projet se trouve dans un référentiel Git, toutes les modifications sont validées afin de pouvoir passer en revue et rétablir des modifications individuelles.
Puis-je contrôler ce que l’agent change ?
Yes. Vous pouvez examiner et approuver le plan avant le démarrage de l’exécution, indiquer à l’agent d’ignorer des problèmes ou des tâches spécifiques et fournir des préférences dans scenario-instructions.md. Vous pouvez également suspendre l’exécution, rediriger l’agent ou annuler tout commit qu’il crée.
L’agent exécute-t-il des tests ?
L’agent valide les modifications en créant le projet après chaque tâche. Si votre projet exécute des tests dans le cadre de la build, ces tests s’exécutent également. Vous pouvez également indiquer à l’agent d’ignorer la validation de test pour des tâches spécifiques.
Que se passe-t-il si l’agent fait une erreur ?
Arrêtez l’agent et dites-le immédiatement. Il s’adapte et applique des corrections lorsque vous indiquez à l’agent de reprendre. Vous pouvez également exécuter git revert HEAD, demander à l’agent d’essayer une approche différente ou de faire un correctif manuel.
Pour plus d’informations, consultez Résoudre les problèmes liés à la modernisation GitHub Copilot pour C++.
Puis-je mettre à niveau uniquement une partie de ma solution ?
Yes. Indiquez à l’agent les projets à mettre à niveau, par exemple, Upgrade only the CoreLib project to the latest MSVC Build Tools. l’agent étend son travail aux projets que vous spécifiez.
État et sessions
Où l’agent stocke-t-il son état ?
Tous les états se trouvent dans .github/upgrades/{SCENARIO ID} votre dépôt. Cela inclut l’évaluation, le plan, la progression des tâches, vos préférences et les journaux d’exécution.
Puis-je reprendre une mise à niveau interrompue ?
Yes. Vous pouvez fermer Visual Studio ou mettre fin à la session de conversation à tout moment. Lorsque vous démarrez une nouvelle conversation, l’agent détecte l’état existant et reprend là où il s’était arrêté.
Dois-je valider le .github/upgrades dossier ?
Yes. La validation du dossier dans votre branche sauvegarde la progression de la mise à niveau, permet aux membres de l’équipe d’afficher l’état de mise à niveau et d’aider l’agent à reprendre à partir de l’état correct. Vous pouvez supprimer le dossier une fois la mise à niveau terminée.
Plusieurs personnes peuvent-elles travailler sur la même mise à niveau ?
Les fichiers d’état dans .github/upgrades peuvent être partagés via Git. Toutefois, une seule personne doit interagir activement avec l’agent à la fois pour éviter les modifications en conflit.
Compatibilité
À partir de quelles versions des outils de génération MSVC puis-je effectuer une mise à niveau ?
L’agent prend en charge la mise à niveau de n’importe quelle version antérieure des outils de génération MSVC vers la dernière version prise en charge par votre installation de Visual Studio.
L’agent gère-t-il la compatibilité des bibliothèques tierces ?
L’agent identifie les problèmes de compatibilité des bibliothèques tierces pendant l’évaluation. Il suggère des solutions alternatives ou des solutions de contournement lorsqu’elles sont disponibles. Si une bibliothèque n’est pas compatible avec l’ensemble d’outils cible, l’agent documente le problème afin de pouvoir décider comment continuer.
Puis-je utiliser l’agent avec des en-têtes précompilés ?
Yes. L’agent comprend les configurations des en-têtes précompilés et en tient compte lors du processus de mise à niveau.