Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2026 18.0, dont une interface rafraîchie, des outils de productivité améliorés et une intégration plus poussée de GitHub CopilotMicrosoft a officiellement lancé la version 18.0 de Visual Studio 2026, apportant une mise à niveau majeure pour les développeurs C++ avec une interface rafraîchie, des outils de productivité améliorés et une intégration plus poussée de GitHub Copilot. La nouvelle version offre une meilleure conformité C++23, des performances d'exécution plus rapides, une prise en charge étendue d'AddressSanitizer pour les cibles ARM64 et une compatibilité transparente avec les extensions Visual Studio 2022, permettant une transition plus fluide pour les projets existants.
Visual Studio est un environnement de développement intégré (EDI) développé par Microsoft. Il est utilisé pour 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 Microsoft, notamment Windows API, Windows Forms, Windows Presentation Foundation (WPF), Microsoft Store et Microsoft Silverlight. Il peut produire à la fois du code natif et du code géré.
Microsoft a annoncé la disponibilité de Visual Studio 2026 le 11 novembre dernier. Cette version apporte plusieurs améliorations en termes de performances, une expérience utilisateur repensée et une avancée majeure dans le développement basé sur l'IA. Visual Studio 2026 est natif de l'IA et propose de nouveaux agents pour les langages de programmation C# et C++, conçus pour les développeurs professionnels qui ont besoin de précision et de rapidité au quotidien.
Les principales nouvelles fonctionnalités ou améliorations pour les développeurs C++ dans Visual Studio 2026 sont les suivantes :
- Une interface utilisateur rafraîchie
- Prise en charge immédiate des extensions Visual Studio 2022
- Microsoft C++ (MSVC) Build Tools v14.50 : meilleure conformité C++23 et améliorations des performances d'exécution
- Prise en charge d'AddressSanitizer pour les cibles ARM64 (aperçu)
- Améliorations de la productivité de l'EDI
- GitHub Copilot Chat : expérience de chat améliorée et nouvelles options du menu contextuel
- Modifications du système de projet C++ (MSBuild et CMake)
- Nouvelles options de configuration clang-tidy
- Rendu des graphiques Mermaid
- Prise en charge de Podman dans les outils de conteneur
- Améliorations des outils Git
Interface utilisateur actualisée avec 11 thèmes au choix
Le nouvel EDI comprend une interface utilisateur actualisée, avec des modifications apportées aux icônes et à l'espacement, ainsi que 11 nouveaux thèmes.
Interface utilisateur des paramètres améliorée
L'interface utilisateur des paramètres de Visual Studio (Outils > Options) est désormais intégrée à l'éditeur. Vous pouvez également configurer les paramètres à partir d'un fichier JSON accessible depuis la nouvelle interface utilisateur.
Vos paramètres seront transférés depuis les anciennes versions de Visual Studio avec prise en charge de l'itinérance. Cependant, les paramètres ne seront plus synchronisés avec les anciens produits afin de garantir une migration plus fluide et une compatibilité ascendante.
Apportez vos extensions Visual Studio 2022
Visual Studio 2026 fonctionne immédiatement avec vos extensions Visual Studio 2022 existantes.
Outils de compilation Microsoft C++ (MSVC) v14.50
La version 18.0 de l'EDI est fournie avec les outils de compilation Microsoft C++ (MSVC) version 14.50, qui offrent la meilleure conformité, les meilleures performances de compilation et d'exécution à ce jour, ainsi qu'une multitude de corrections de bogues. Pour accéder à toutes les nouvelles fonctionnalités du langage, veillez à compiler avec /std:c++latest ou utilisez /std:c++23preview si vous n'avez besoin que des fonctionnalités jusqu'à C++23 inclus.
Améliorations du langage C++ dans le compilateur
Les mises à jour du langage C++23 dans le compilateur comprennent, sans s'y limiter :
- auto(x) : copie par désintégration dans le langage, pour convertir x en une valeur prvalue comme si elle était passée en tant qu'argument de fonction par valeur. (P0849R8)
- Implémentation de la directive de préprocesseur C++23 #warning pour permettre aux auteurs de code de générer un message de diagnostic sans interrompre la compilation, contrairement à #error. (P2437R1)
- Paramètre d'objet explicite pour l'affectation et la comparaison. (CWG Issue 2586)
- Utilisation de pointeurs et de références inconnus dans des expressions constantes. (P2280R4)
Fonctionnalités du langage C++ et améliorations des performances dans la bibliothèque standard
Les modifications apportées à la bibliothèque standard C++ (STL) de Microsoft comprennent, mais sans s'y limiter :
- P0472R3 : Ajout de monostate dans <utility>.
- P3223R2 : Rend std::istream::ignore(n, delim) moins inattendu. Cela avait un comportement inattendu si delim était un char avec une valeur négative. Cette modification supprime l'inattendu afin de rendre le code plus robuste.
- Prise en charge partielle de P3697R1 : ajouts mineurs au renforcement de la bibliothèque standard afin d'améliorer la sécurité de la mémoire.
- LWG-2503 : l'option multiligne devrait être ajoutée à syntax_option_type.
- LWG-4186 : regex_traits::transform_primary détecte par erreur le typeid d'une fonction.
- LWG-4222 : le constructeur attendu à partir d'une valeur unique manque une contrainte.
- LWG-4242 : ranges::distance ne fonctionne pas avec les itérateurs volatils.
- Une multitude d'améliorations des performances :
- Amélioration des performances pour la correspondance d'expressions régulières.
- Début de l'utilisation de [[msvc::no_unique_address]] comme optimisation d'espace dans plusieurs composants C++23.
- Ajout et amélioration des implémentations vectorisées de nombreux types et fonctions.
- Utilisation de la fonction intégrée __is_trivially_equality_comparable de Clang pour améliorer les performances de equal(), ranges::equal et de nombreux algorithmes vectorisés pour davantage de types.
- Accélération exponentielle pour minstd_rand et la fonction membre discard() de minstd_rand0.
- Amélioration de std::includes() pour obtenir les mêmes performances que ranges::includes.
- Amélioration des performances de count() pour vector<bool>.
Améliorations des performances d'exécution du compilateur
En étroite collaboration avec nos partenaires développeurs de jeux, l'équipe Visual Studio a investi dans l'amélioration des performances d'exécution du code créé avec MSVC. Elle mesuré ces améliorations à l'aide de benchmarks issus de l'échantillon City Sample d'Unreal Engine (RenderThread et GameThread) :
Jusqu'à +6 % de gain de vitesse d'exécution, mesuré sur le RenderThread de l'échantillon City Sample d'Unreal Engine.
Jusqu'à +3 % de gain de vitesse d'exécution, mesuré sur le GameThread de l'échantillon City Sample d'Unreal Engine.
Prise en charge d'AddressSanitizer pour les compilations ARM64 (aperçu)
Dans Visual Studio 2019, l'équipe du projet a ajouté la prise en charge d'AddressSanitizer pour le code compilé avec MSVC afin d'aider les développeurs à identifier les problèmes de sécurité mémoire sans faux positifs à l'aide du drapeau /fsanitize=address. À l'époque, la prise en charge s'appliquait au code compilé pour les architectures x86 et x64. Cette prise en charge est désormais étendue aux projets ciblant ARM64. La prise en charge ARM64 est en préversion, et nous continuerons à l'améliorer et à corriger les bogues éventuels dans les mises à jour futures.
Améliorations de la productivité de l'EDI
Microsoft a travaillé sur plusieurs améliorations de la productivité des développeurs dans la version 18.0, dont beaucoup en réponse aux commentaires de la communauté.
Mise en évidence syntaxique pour les attributs C++
Les attributs C++ sont désormais colorés dans l'éditeur, ce qui rend votre code plus distinctif visuellement et plus facile à lire. Par défaut, ils utilisent la même couleur de thème que les types définis par l'utilisateur.
Recherches de sous-chaînes dans la vue Classe et améliorations des performances
La fenêtre Vue Classe prend désormais en charge les recherches de sous-chaînes, ce qui vous permet d'examiner plus facilement l'architecture de votre code.
De plus, les performances de la vue Classe ont été améliorées pour les projets Unreal Engine.
Générer une sortie prétraitée
Vous pouvez cliquer avec le bouton droit sur un fichier C++ dans l'Explorateur de solutions et sélectionner Prétraiter pour générer instantanément sa sortie prétraitée, ce qui facilite le débogage des macros et des inclusions, permet de voir immédiatement les erreurs et évite les modifications manuelles des paramètres du projet ou les interruptions de la compilation complète du projet.
Commandes améliorées dans la marge inférieure
La marge inférieure de l'éditeur a été améliorée pour être plus informative et personnalisable. La position des lignes, des colonnes et des caractères est désormais unifiée dans un seul affichage. Cliquez dessus pour ouvrir la boîte de dialogue Aller à la ligne afin de naviguer plus rapidement. Lorsque vous travaillez avec plusieurs sélections, vous verrez le nombre total de sélections, de caractères et de lignes. En survolant la marge de sélection, vous verrez apparaître des informations détaillées pour chaque sélection.
L' encodage des fichiers est désormais affiché dans la marge pour une consultation rapide. Vous pouvez également enregistrer ou rouvrir un fichier en utilisant un encodage spécifique, ce qui permet d'assurer l'affichage correct des caractères spéciaux, prend en charge plusieurs langues et maintient une lisibilité cohérente sur tous les systèmes.
En cliquant sur la marge d'encodage, vous ouvrez un menu contextuel dans lequel vous pouvez choisir d'enregistrer ou de rouvrir le fichier. La sélection d'une option lance une boîte de dialogue d'encodage avec une liste déroulante des encodages disponibles.
Un nouveau menu contextuel a été ajouté à la marge, vous permettant de contrôler entièrement les informations affichées. Ce menu comprend toutes les marges inférieures de l'éditeur, du contrôle du zoom à la nouvelle marge d'encodage.
Vous pouvez gérer ces paramètres via Outils > Options > Éditeur de texte > Général > Affichage > Afficher le contexte d'édition dans l'éditeur. Pour des réglages plus rapides, cliquez avec le bouton droit de la souris sur la marge inférieure pour ouvrir le nouveau menu contextuel et modifier ce qui s'affiche.
Chat GitHub Copilot
Le chat GitHub Copilot vous permet d'utiliser le langage naturel pour obtenir des réponses à vos questions (mode Ask) ou même pour mettre en œuvre automatiquement des modifications (mode Agent). Microsoft a apporté plusieurs améliorations à cette fonctionnalité (énumérées ci-dessous), et nous proposons également trois nouvelles fonctionnalités disponibles en avant-première privée : Nouvelles fonctionnalités GitHub Copilot pour les développeurs C++ : mise à niveau MSVC, amélioration des performances de compilation et refactorisation du code C++.
Meilleures réponses dans Copilot Chat
Copilot Chat devient plus intelligent grâce à un contexte amélioré pour vos tâches quotidiennes. Vous pouvez vous attendre à de meilleurs résultats lorsque vous effectuez des recherches dans votre base de code et que vous référencez des lignes spécifiques dans votre code.
Actions Copilot dans le menu contextuel
Une option Actions Copilot a été ajoutée au menu contextuel accessible par un clic droit dans l'éditeur Visual Studio. Vous pouvez l'utiliser pour interagir avec un fichier ou des lignes de code spécifiques dans Copilot Chat. Vous pouvez demander à Copilot d'expliquer ce que fait le code, d'effectuer des optimisations, de générer des commentaires ou des tests unitaires, ou simplement de le référencer dans le chat pour que vous puissiez ajouter votre propre invite personnalisée.
Référencez les commits et les modifications dans la fenêtre Git Changes
Vous pouvez désormais demander à Copilot de résumer les modifications de code non validées, d'expliquer un commit spécifique, et plus encore.
Vous pouvez référencer les modifications non validées en ajoutant #changes à votre invite ou en tapant #commit: pour afficher une liste des commits les plus récents parmi lesquels vous pouvez faire votre choix. Vous pouvez également référencer un identifiant de commit spécifique.
Dans le contexte de vos modifications ou commits, vous pouvez ensuite demander à Copilot de répondre à des questions en mode Ask ou d'effectuer des tâches en mode Agent, comme écrire des tests unitaires ou rechercher des bogues.
Référencer des URL dans vos questions
Vous pouvez coller une URL dans la zone de saisie et Copilot extraira des informations du Web pour préparer sa réponse. Par exemple, vous pouvez demander à Copilot de rédiger un fichier Lisez-moi basé sur les meilleures pratiques de GitHub ou de consulter des documents de référence pendant qu'il prépare une réponse à une question.
Cette fonctionnalité ne marche que pour les URL publiques et le contenu HTML statique.
Systèmes de projet C++
Visual Studio 2026 continue de prendre en charge nativement les projets MSBuild, CMake et Unreal Engine.
C++20 par défaut pour les nouveaux projets MSBuild
De nombreux projets MSBuild générés à l'aide de nouveaux modèles de projet ciblent désormais C++20 par défaut. Cela inclut les applications console, les applications de bureau Windows, les bibliothèques de liens dynamiques et les bibliothèques statiques.
Projets CMake dans Visual Studio 2026
Visual Studio 2026 inclut désormais CMake 4.1.1 par défaut. CMake inclut également un générateur Visual Studio 2026 et des projets SLNX modernes, vous permettant de créer des projets Visual Studio C++ directement à partir de CMake.
Les outils de diagnostic prennent désormais en charge les projets CMake
Les projets CMake bénéficient désormais d'une prise en charge native des outils de profilage, notamment les outils d'utilisation du processeur, d'affichage des événements, d'utilisation de la mémoire et d'E/S de fichiers dans Visual Studio. L'outil d'utilisation du processeur inclut également des informations sur les performances fournies par Copilot, qui vous aident à détecter et à résoudre les goulots d'étranglement encore plus rapidement.
Conçue pour les développeurs de jeux et les workflows où les performances sont essentielles, cette mise à jour vous permet de :
- Identifier les goulots d'étranglement en matière de performances et optimiser le code gourmand en ressources informatiques à l'aide de l'outil d'utilisation du processeur.
- Suivre les événements d'exécution tels que les exceptions, les journaux et les requêtes HTTP à l'aide de l'afficheur d'événements.
- Analyser les modèles d'accès aux fichiers, les durées et le débit à l'aide de l'outil d'E/S de fichiers.
Mises à jour de Clang-tidy
Les outils d'analyse de code clang-tidy dans Visual Studio disposent désormais de nouvelles options de configuration. Vous pouvez allouer davantage de processeurs à l'exécution de l'analyse de code dans le cadre de votre build, ce qui accélère votre workflow de développement. De plus, vous pouvez ajouter des arguments personnalisés à la ligne de commande pour invoquer clang-tidy, ce qui vous donne un contrôle total sur votre configuration d'analyse.
Vous pouvez accéder à ces nouvelles options puissantes à partir de Propriétés du projet > Analyse de code > Clang-Tidy.
Rendu des graphiques Mermaid
Vous pouvez désormais afficher les graphiques Mermaid dans la fenêtre d'aperçu de l'éditeur Markdown, où vous pouvez fournir votre propre syntaxe Mermaid ou la générer avec Copilot. Cela vous permet de visualiser des structures de données et des flux de travail complexes dans l'EDI.
Prise en charge de Podman dans les outils de conteneur
Les outils de conteneur Visual Studio prennent désormais en charge Podman, un outil de gestion de conteneurs populaire qui fournit un moteur de conteneurs sans démon. Cela vous permet d'exécuter et de gérer des conteneurs à l'aide de l'interface CLI Podman directement depuis Visual Studio.
Outils Git
Les outils Git de Visual Studio ont également fait l'objet de quelques mises à jour :
- Les révisions de code générées par Copilot utilisent désormais des modèles de raisonnement mis à jour afin de fournir des commentaires plus pertinents et plus précis.
- Les commentaires de révision de code sont désormais générés pour l'ensemble des modifications à la fois, plutôt que fichier par fichier, ce qui améliore les performances et rend la révision plus complète.
- Lorsque vous affichez les commentaires générés par Copilot sur vos modifications non validées, vous voyez désormais une liste de commentaires dans la fenêtre Modifications Git. Vous pouvez double-cliquer sur un commentaire pour accéder à la ligne de code correspondante dans l'éditeur.
- Vous pouvez appliquer les modifications de code suggérées dans un commentaire PR en cliquant sur le bouton étincelant en haut à droite du commentaire. S'il n'y a pas de suggestions, vous pouvez demander à Copilot de suggérer une modification en fonction du commentaire.
Vous pouvez télécharger Visual Studio 2026 version 18.0 dès aujourd'hui. La liste complète des modifications apportées par cette version sont disponibles dans le notes de publication.
Source : Microsoft
Et vous ?
Quel est votre avis sur le sujet ?
Trouvez-vous les améliorations apportées par cette version de Visual Studio utiles et intéressantes ?Voir aussi :
Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2022 17.14, notamment des améliorations au compilateur MSVC et à la bibliothèque standard, ainsi que le débogage dynamique C++
Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2022 17.13, notamment des améliorations à la bibliothèque standard, ainsi que des fonctionnalités pour la productivité
Microsoft présente les nouveautés pour les développeurs C++ dans Visual Studio 2022 17.12, notamment la mise à jour de la bibliothèque standard et du compilateur MSVC, et l'amélioration de Build Insights
Vous avez lu gratuitement 2 941 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.