Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2026, version 18.7 à 18.10, notamment des améliorations liées à Git, GitHub Copilot et au débogage

Au cours des derniers mois, Microsoft a publié des versions mensuelles de Visual Studio 2026, apportant des améliorations à toutes les étapes du cycle de développement. Voici un récapitulatif de toutes les modifications apportées entre les versions 18.7 et 18.10 qui concernent les développeurs C++. Cela inclut de nouveaux outils pour la gestion et la navigation dans les projets C++, ainsi que des améliorations liées à Git, GitHub Copilot et au débogage, qui facilitent la construction de bases de code natives volumineuses.

Visual Studio est un environnement de développement intégré (EDI) développé par Microsoft. Il sert à développer des programmes informatiques, notamment des sites web, des applications web, des services web et des applications mobiles. Visual Studio utilise les plateformes de développement logiciel de Microsoft, notamment l'API Windows, Windows Forms, Windows Presentation Foundation (WPF), Microsoft Store et Microsoft Silverlight. Il permet de générer à la fois du code natif et du code géré.

Visual Studio comprend un éditeur de code prenant en charge IntelliSense (le composant de complétion de code) ainsi que la refactorisation de code. Le débogueur intégré fonctionne à la fois comme un débogueur au niveau du code source et comme un débogueur au niveau machine. Parmi les autres outils intégrés, on trouve un profileur de code, un concepteur d’applications avec interface graphique, un concepteur web, un concepteur de classes et un concepteur de schémas de bases de données.

Il accepte des plug-ins qui étendent ses fonctionnalités à presque tous les niveaux, notamment en ajoutant la prise en charge de systèmes de contrôle de version (tels que Subversion et Git) et en intégrant de nouveaux ensembles d’outils, comme des éditeurs et des concepteurs visuels pour des langages spécifiques à un domaine, ou des outils destinés à d’autres aspects du cycle de vie du développement logiciel (comme le client Azure DevOps : Team Explorer).

Au cours des derniers mois, Microsoft a publié des versions mensuelles de Visual Studio 2026, apportant des améliorations à toutes les étapes du cycle de développement. Voici un récapitulatif de toutes les modifications apportées entre les versions 18.7 et 18.10 qui concernent les développeurs C++. Cela inclut de nouveaux outils pour la gestion et la navigation dans les projets C++, ainsi que des améliorations liées à Git, GitHub Copilot et au débogage, qui facilitent la construction de bases de code natives volumineuses.

Parmi les points forts, on peut citer l’expérience de modernisation de GitHub Copilot (désormais disponible pour tous) pour vous guider dans les mises à niveau de MSVC, un index sémantique plus approfondi pour accélérer la navigation dans le code, la possibilité de détecter les versions des outils de compilation MSVC sur toutes les installations, ainsi que la prise en charge des arborescences de travail Git et des sous-modules directement dans l’EDI.

Voici le récapitulatif de Microsoft des modifications apportées entre les versions 18.7 et 18.10 de Visual Studio 2026 pour les développeurs C++ :

Nom : 0.jpg
Affichages : 454
Taille : 43,1 Ko

Améliorations de la fiabilité du C++

Dans les versions 18.7 à 18.10 de Visual Studio 2026, nous avons corrigé 272 bogues C++ signalés via la communauté des développeurs et lors de tests internes.

Ces corrections concernent notamment les diagnostics IntelliSense C++ et la résolution des inclusions, des problèmes liés au compilateur et à la génération de code, une std::regex regression, la stabilité du débogueur et un problème lié au menu contextuel de l’Explorateur de solutions C++.

Modernisation et gestion des projets C++

Mise à niveau des projets MSVC avec GitHub Copilot

La modernisation GitHub Copilot pour le C++ est désormais disponible pour tous. Cet agent de modernisation aide à mettre à niveau les projets MSBuild et CMake vers une version plus récente des outils de compilation Microsoft C++ (MSVC). Il évalue la base de code, élabore un plan de mise à niveau, met à jour les paramètres du projet et le code source, puis valide les corrections apportées à des problèmes tels que le renforcement des exigences de conformité, les fonctions obsolètes de la bibliothèque standard, les nouveaux avertissements et les erreurs d’éditeur de liens.

L’agent dispose de deux modes de fonctionnement. Le mode automatique effectue l’évaluation, la planification et l’exécution avec un minimum d’intervention. Le mode guidé marque une pause entre chaque étape afin que vous puissiez examiner la portée et l’approche proposée avant que les modifications ne soient appliquées. Vous pouvez changer de mode au fur et à mesure que la mise à niveau progresse.

Avant de commencer, utilisez le programme d’installation de Visual Studio pour sélectionner le composant optionnel de modernisation GitHub Copilot. Vous devez également disposer d’un abonnement GitHub Copilot et d’un projet C++ MSBuild ou CMake.

Cliquez avec le bouton droit sur une solution ou un projet dans l’Explorateur de solutions et sélectionnez « Moderniser », ou saisissez @Modernize dans le chat GitHub Copilot. Pour les projets MSBuild qui font référence à une version de MSVC indisponible, l’assistant de configuration peut également proposer de lancer l’agent de modernisation après avoir réorienté le projet. L’agent se concentre sur les problèmes causés par la mise à niveau de MSVC et adapte sa liste de tâches lorsqu’une correction en révèle un autre. Vous gardez le contrôle de la portée et pouvez arrêter, rediriger ou reprendre le travail.

Nom : 1.jpg
Affichages : 470
Taille : 42,3 Ko

Utilisation de PackageReference dans les projets C++ natifs

Visual Studio 2026 a introduit une prise en charge expérimentale de NuGet PackageReference dans les projets .vcxproj natifs. Les références de packages résident directement dans le fichier de projet, prennent en charge la résolution des dépendances transitives, utilisent le cache global de packages de NuGet et peuvent être conditionnées par la configuration ou la plateforme à l’aide de la syntaxe MSBuild standard.

Activez cette fonctionnalité dans un projet ou dans le fichier Directory.Build.props :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<Project> 
    <PropertyGroup> 
        <EnableNativePackageReferenceSupport>true</EnableNativePackageReferenceSupport> 
    </PropertyGroup> 
</Project>


Vous pouvez ensuite modifier directement le fichier de projet ou utiliser la fonctionnalité « Gérer les packages NuGet » dans Visual Studio :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<ItemGroup>
    <PackageReference
        Include="Microsoft.Windows.CppWinRT"
        Version="2.0.240405.15" />
</ItemGroup>


Nous continuons à recommander vcpkg pour l’acquisition et la gestion des bibliothèques C et C++. Cependant, NuGet PackageReference est utile pour les SDK et binaires distribués via NuGet, les flux NuGet internes et les référentiels nécessitant un workflow de distribution cohérent entre les projets C++ natifs et .NET.

La mise en œuvre initiale est désactivée par défaut et n’est toujours pas prise en charge pour les projets C++/CLI ciblant des versions de .NET Framework ; elle reste également limitée pour certaines références de projet interlangages.

Découvrez les versions épinglées des outils de compilation MSVC dans les différentes installations

Visual Studio 2026 peut désormais localiser une version exacte (majeure.mineure.correctif) des outils de compilation MSVC épinglée dans une autre installation de Visual Studio ou dans une installation autonome des outils de compilation. Cela aide les équipes à mettre à jour l’IDE de manière indépendante tout en conservant une version de compilateur dont la fiabilité est avérée pour des builds locaux et d’intégration continue reproductibles.

Auparavant, Visual Studio ne recherchait un ensemble d’outils correspondant dans d’autres installations que si votre installation actuelle ne disposait d’aucun ensemble d’outils pour la version de votre plateforme cible. Cette modification supprime cette restriction.

Activez cette fonctionnalité avec EnableVCToolsVersionDiscovery et spécifiez la version requise de VCToolsVersion :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<PropertyGroup>
    <EnableVCToolsVersionDiscovery>true</EnableVCToolsVersionDiscovery>
    <VCToolsVersion>14.43.34604</VCToolsVersion>
</PropertyGroup>


Lorsque la version demandée n'est pas disponible dans l'installation actuelle, Visual Studio recherche d'autres installations au lieu d'exiger l'attribution manuelle d'un VCToolsInstallDir. Cela offre aux équipes deux approches complémentaires : utiliser l'agent de modernisation au moment de la mise à niveau ou épingler une version précise des outils de compilation MSVC lorsque la compatibilité et la reproductibilité sont prioritaires.

Découvrez en avant-première les prochaines mises à jour des outils de compilation MSVC

Le développement de la version 14.52 des outils de compilation MSVC s’est poursuivi avec des mises à jour mensuelles des versions préliminaires distribuées via le canal stable de Visual Studio (et des mises à jour encore plus rapides via le canal Insiders).

Dans les préversions de juillet et août, les mises à jour du front-end et des modules incluent la prise en charge des expressions new[] initialisées par défaut dans l’évaluation des constantes avec les modules, une recherche dépendante des arguments et une sérialisation des modules plus robustes, ainsi que des diagnostics plus clairs concernant les incompatibilités de conventions d’appel, les options de compilateur incompatibles et les bibliothèques compilées inutilisables.

Le back-end a ajouté la prise en charge d’Armv9.2 LUTI2 et a amélioré la vectorisation ARM64, l’appariement de chargement et la sélection d’instructions. Les mises à jour x64 et x86 ont élargi la sélection d’instructions APX et amélioré les comparaisons conditionnelles, les constantes vectorielles et les appels de queue. L’optimiseur a bénéficié d’améliorations supplémentaires concernant les boucles, les variables d’induction, la dévirtualisation et la réassociation d’expressions. L’éditeur de liens et les outils de débogage ont également amélioré la liaison incrémentielle, la croissance et le déterminisme des fichiers PDB, les flux d’informations de débogage volumineux et la fusion des types de modules.

AddressSanitizer peut désormais utiliser le désassembleur MSVC comme décodeur de longueur d’instruction de secours, ce qui réduit les échecs liés aux instructions non reconnues et permet de diagnostiquer les utilisations incompatibles avec /clr. Ces versions préliminaires incluent également des améliorations de la fiabilité de l’analyse de code ainsi que des corrections concernant les plantages du compilateur, les erreurs de compilation, les régressions de modules et la génération de code AVX-512 invalide.

Naviguez plus rapidement dans les bases de code C++ volumineuses

L’indexation de l’intégralité de la base de code est une fonctionnalité en avant-première qui enrichit la base de données de navigation C++ d’informations plus détaillées sur l’utilisation des symboles. Au lieu de calculer à la demande et de manière répétitive certaines relations, Visual Studio peut réutiliser les données sémantiques qui ont été indexées au fur et à mesure de votre travail.

Cet index plus approfondi améliore les fonctionnalités qui utilisent le moteur IntelliSense, notamment la coloration sémantique, « Aller à la définition » et « Rechercher toutes les références ». Il permet également à l’outil find_symbol de Copilot d’accéder plus rapidement à ces fonctionnalités de navigation dans le code et active les références CodeLens pour le C++. Lors des tests effectués par Microsoft avec Bullet3 et LLVM, de nombreux scénarios de navigation et de coloration ont vu leurs performances multipliées par deux, voire plus, bien que les résultats et les coûts d’indexation varient en fonction de la base de code.

Nom : 2.jpg
Affichages : 419
Taille : 35,1 Ko

Pour activer cette fonctionnalité, ouvrez Outils > Options > Langages > C/C++ > IntelliSense > Parcours et navigation > Index sémantique de l’ensemble de la base de code, puis activez la navigation et la coloration plus rapides du code.

Optimisez les builds que vous exécutez quotidiennement

Les performances de build de GitHub Copilot pour Windows évaluent désormais aussi bien les builds itératifs que les builds « clean ». Cette distinction est importante, car une optimisation telle qu’un en-tête précompilé peut ralentir légèrement une recompilation complète tout en améliorant la boucle « édition-build-débogage » que les développeurs répètent tout au long de la journée.

Nom : 3.jpg
Affichages : 364
Taille : 47,0 Ko

Demandez à Copilot Chat de « rendre ma compilation plus rapide ». L’agent établit une base de référence, propose une optimisation, mesure le résultat et annule les modifications qui n’apportent rien. Si une modification n’est pas bénéfique dans une compilation « propre », l’agent peut tester une compilation itérative comparable avant de décider de la conserver ou non.

Nom : 4.jpg
Affichages : 381
Taille : 22,4 Ko

Réviser les modifications avec GitHub Copilot

La révision Copilot s’étend désormais d’un bloc de code sélectionné aux modifications actives, aux commits et aux pull requests. Sélectionnez n’importe quel bloc de code dans l’éditeur et choisissez Actions Copilot > Réviser la sélection pour une révision ciblée. Les résultats s’affichent sous forme de commentaires intégrés afin que vous puissiez les examiner et y remédier dans leur contexte.

Nom : 5.jpg
Affichages : 372
Taille : 36,0 Ko

Pour une révision sous forme de conversation, basculez vers l’agent Git dans GitHub Copilot Chat. Demandez-lui de réviser le travail non validé, sélectionnez la commande de révision Copilot dans « Modifications Git », ou joignez un commit dans le chat. Vous pouvez également lancer cette révision depuis la barre d’informations post-commit ou à partir d’un commit dans la fenêtre « Dépôt Git ». Les résultats s’affichent en ligne et dans une liste navigable, et vous pouvez poursuivre la conversation pour examiner un résultat ou demander une correction suggérée.

Visual Studio propose également un workflow de révision des commits en local. Activez l’option « Réviser les modifications Git localement et fournir des suggestions à partir des commentaires » sous Outils > Options > GitHub > Copilot > Intégration du contrôle de source, puis cliquez avec le bouton droit sur un commit dans la fenêtre « Dépôt Git » et sélectionnez « Réviser le commit ». Vous pouvez sélectionner deux commits pour réviser la plage comprise entre eux. Ces révisions restent locales à la session Visual Studio. Les deux workflows de révision prennent en charge les dépôts GitHub et Azure DevOps.

La révision Copilot constitue une source supplémentaire de retours d’information, mais ne remplace en aucun cas les diagnostics du compilateur, l’analyse de code, les tests ou la révision humaine. Elle s’avère particulièrement utile lorsque vous lui définissez un périmètre clair, par exemple pour vérifier les changements de propriété, la synchronisation des threads, la gestion des erreurs ou l’utilisation des API avant d’ouvrir une pull request.

L'expérience plus complète des pull requests vous permet également d'inspecter les modifications sans extraire la branche, de commenter et de résoudre des fils de discussion, de réviser les commits, d'approuver les modifications, ainsi que de finaliser ou de fusionner la pull request depuis Visual Studio.

Travailler sur de grands dépôts Git

Gérer plusieurs branches actives avec les arborescences de travail

Visual Studio 2026 a ajouté la gestion intégrée des arborescences de travail Git. Une arborescence de travail attribue à une autre branche son propre répertoire de travail, ce qui vous permet de conserver intactes certaines modifications C++ inachevées tout en recherchant un bogue ou en préparant un correctif sur une autre branche.

Dans la fenêtre Dépôt Git, cliquez avec le bouton droit sur une branche et sélectionnez « Nouvelle arborescence de travail à partir de ».

Nom : 6.jpg
Affichages : 362
Taille : 12,2 Ko

Vous pouvez créer un arborescence de travail à partir d'une branche existante, d'une nouvelle branche ou d'un commit, puis l'ouvrir dans la fenêtre actuelle ou dans une instance distincte de Visual Studio. Les arborescences de travail s'affichent à côté des branches et peuvent être supprimées de la même fenêtre lorsqu'elles ne sont plus nécessaires.

Nom : 7.jpg
Affichages : 361
Taille : 26,6 Ko

Gérer les sous-modules sans quitter Visual Studio

Les sous-modules sont également des objets de premier ordre dans Visual Studio 2026. La fenêtre « Git Repository » comporte une section dédiée aux sous-modules, « Git Changes » affiche leur état et le sélecteur de référentiel affiche la relation entre le référentiel parent et ses sous-modules.

Vous pouvez ajouter, mettre à jour, supprimer, découvrir et parcourir les sous-modules dans l’IDE. Ils sont en lecture seule par défaut, ce qui permet d’éviter toute modification accidentelle d’une dépendance. Pour travailler à l’intérieur de ceux-ci, accédez à Outils > Options > Contrôle de source > Git, recherchez « Activer automatiquement plusieurs dépôts », puis sélectionnez « Oui, inclure les sous-modules ».

Nom : 8.jpg
Affichages : 139
Taille : 14,9 Ko

Parmi les autres améliorations apportées à Git, citons un comparatif récapitulatif multi-fichiers pour les modifications en cours, les commits et les pull requests, la comparaison d’une version historique d’un fichier avec l’arborescence de travail, les chronologies d’activité des pull requests, ainsi que la saisie semi-automatique une fois que les validations et politiques requises ont été respectées.

Déboguer des applications C++

Se connecter à des processus dans des conteneurs Podman

Visual Studio 2026 étend la fonctionnalité « Se connecter à un processus » aux conteneurs Podman. Démarrez le conteneur, ouvrez Débogage > Se connecter à un processus, choisissez Podman comme type de connexion, sélectionnez Rechercher, puis choisissez le processus que vous souhaitez déboguer. Cette fonctionnalité prend en charge à la fois les conteneurs .NET et C++ sans configuration supplémentaire du débogueur.

Analyser les bogues à l’aide de tests ciblés

L’agent de débogage a également intégré un workflow d’investigation piloté par les tests. À partir d’un incident, d’une trace de pile ou d’une défaillance intermittente, il peut créer ou identifier un test ciblé, déboguer la défaillance à l’aide de l’état d’exécution, proposer une correction et réexécuter les tests pertinents. Cette fonctionnalité s’appuie sur l’expérience « de l’incident à la résolution » pilotée par l’agent, abordée dans le précédent tour d’horizon.

Plus de contrôle sur Copilot

Partager des instructions et des agents personnalisés au sein d’une organisation

Visual Studio 2026 a ajouté des instructions et des agents personnalisés au niveau de l’organisation. Les propriétaires d’organisations GitHub et d’entreprises peuvent publier des agents partagés pour des workflows tels que le triage des builds, les mises à niveau des dépendances, les vérifications de portabilité ou les conventions de révision de code. Visual Studio détecte ces agents et identifie leur source organisationnelle dans le sélecteur d’agents. Les instructions au niveau de l’organisation permettent d’exprimer des préférences partagées, mais ne constituent pas un mécanisme d’application de politiques.

Choisissez le modèle et le niveau d’effort de réflexion adaptés

Les contrôles de modèle fournissent également davantage d’informations sur les capacités, la taille de la fenêtre contextuelle et le coût. Pour les modèles pris en charge, vous pouvez choisir un niveau d’effort de réflexion faible, moyen ou élevé. Un effort moindre convient aux questions simples, tandis qu’un effort plus important peut s’avérer utile pour l’architecture, les diagnostics complexes de modèles, les algorithmes ou les problèmes de concurrence difficiles à reproduire.

Apportez votre propre modèle

La fonctionnalité « Apportez votre propre modèle » (BYOM) vous permet de connecter cet agent à un déploiement Microsoft Foundry ou d’utiliser votre propre clé avec un autre fournisseur pris en charge, que vous soyez connecté ou non à GitHub. Les notes de mise à jour font également référence à cette fonctionnalité sous le nom de Bring Your Own Key (BYOK).

BYOM est disponible en préversion et prend en charge Microsoft Foundry, OpenAI, Anthropic et Ollama, y compris les points de terminaison personnalisés pour OpenAI et Ollama. Les capacités des modèles varient, et tous les modèles ne prennent pas en charge tous les outils du mode Agent.

Améliorations des suggestions de modification suivante

Les suggestions de modification suivante à longue portée sont désormais disponibles. Copilot peut suggérer des modifications associées ailleurs dans le fichier actif lorsque l’option « Suggestions à portée étendue » est activée sous Outils > Options > Éditeur de texte > Suggestions en ligne.

Le saviez-vous ? Il existe également un paramètre « Fréquence des suggestions de modification suivante » dans Outils > Options, qui vous permet de contrôler la fréquence d’apparition de ces suggestions. Utilisez le champ de recherche dans l’interface utilisateur des options pour le trouver rapidement.

Source : Microsoft

Et vous ?

Pensez-vous que ce récapitulatif est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2026, avec la prise en charge des outils de compilation MSVC 14.51 et des améliorations de l'expérience de chat IA

Microsoft annonce la mise à jour d'août de l'EDI Visual Studio, avec un meilleur contrôle de l'assistance IA et du travail entre les branches Git

Microsoft présente la mise à jour de juillet de Visual Studio 2026, avec le nouvel agent IA, optimisé par le SDK GitHub Copilot, ainsi que de nouvelles compétences .NET et Azure intégrées