IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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 Copilot

Le , par Anthony

94PARTAGES

6  0 
Microsoft 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,...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !