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 Visual Studio 2022 17.8 pour les développeurs C++, les nouvelles fonctionnalités C++23 et C++26
Et les modules de la bibliothèque standard C++23 sont disponibles en mode C++20

Le , par Anthony

18PARTAGES

4  0 
Microsoft est heureux d'annoncer que la version 17.8 de Visual Studio 2022 est maintenant disponible ! Ce billet résume les nouvelles fonctionnalités que vous pouvez trouver dans cette version pour C++.

Vous pouvez télécharger Visual Studio 2022 depuis la page de téléchargement de Visual Studio ou mettre à jour votre installation existante en suivant la page Update Visual Studio Learn.

Bibliothèque standard

Les modules de la bibliothèque standard normalisés en C++23 sont désormais disponibles en mode C++20. Il s'agit d'une extension cross-vendor, prévue ou supportée également par libstdc++ et libc++.

L'équipe a également implémenté plusieurs nouvelles fonctionnalités C++23 et C++26, y compris un support accru pour les implémentations Freestanding et le support de std::stacktrace dans std::format.

Editeur principal

Créer une Pull Request

Vous pouvez désormais créer une Pull Request directement dans Visual Studio. Entrez dans la fenêtre New Pull Request en cliquant sur le lien dans la bannière de notification dans Git Changes après le push, ou à partir du menu de haut niveau via Git > GitHub/Azure DevOps > New Pull Request.


Résumé des différences

Tirez parti de la nouvelle vue de résumé des différences pour vous concentrer sur les modifications apportées à votre code.


Activée dans chaque vue de comparaison, la nouvelle vue de résumé des différences vous permet de basculer les lignes de contexte afin d'accélérer la comparaison des fichiers.

Productivité

Rendre les fonctions membres constantes

Microsoft a introduit une fonctionnalité qui suggère de rendre les fonctions membres const lorsqu'elles ne modifient pas l'état de l'objet. Vous pouvez survoler une fonction membre et cliquer sur l'icône de l'ampoule pour accéder rapidement à la suggestion et marquer la fonction comme const.


Cette fonctionnalité est activée par défaut en tant que suggestion. Vous pouvez configurer ses paramètres en naviguant vers Outils > Options > Éditeur de texte > C/C++ > Style de code > Linter.

Rendre une fonction globale statique

Visual Studio vous invite désormais à marquer les fonctions globales comme static. Lorsque vous rencontrez une fonction globale dépourvue de déclaration directe, Visual Studio vous propose une suggestion, symbolisée par une icône en forme de tournevis.


Vous pouvez régler les paramètres de cette fonctionnalité dans Outils > Options > Éditeur de texte > C/C++ > IntelliSense.

Nettoyer et trier les directives #include

Vous pouvez désormais trier et nettoyer automatiquement vos directives #include.

Les directives #include inutilisées seront estompées dans l'éditeur. Vous pouvez passer la souris sur un include estompé et utiliser le menu en forme d'ampoule pour supprimer cet include ou tous les includes inutilisés.


Il est désormais possible d'ajouter des directives #include pour les entités qui sont actuellement incluses indirectement via d'autres en-têtes. Par exemple, si vous utilisez std::string dans votre code mais que vous n'incluez pas #include <string>, le code fonctionnera toujours si un autre en-tête que vous incluez transitivement inclut l'en-tête correct. Cela rend le code fragile aux changements dans d'autres en-têtes. Si #include cleanup détecte des en-têtes indirects, une action rapide (indiquée par trois points dans la vue par défaut) apparaît. En la survolant, vous serez informé que le contenu de cet include transitif est utilisé. Vous avez alors la possibilité d'ajouter l'inclusion directe individuellement ou d'ajouter toutes les inclusions transitives utilisées.


Pour trier automatiquement les #includes, cliquez avec le bouton droit de la souris sur n'importe quelle déclaration #include. Ensuite, en survolant l'option #include directives dans le menu contextuel, vous verrez apparaître l'option "Sort #include directives".


Vous pouvez également configurer les nettoyages transitifs d'inclusions et le tri des inclusions par le biais de l'entrée Code Cleanup. Tout d'abord, ouvrez le menu de configuration de Code Cleanup via Analyze > Code Cleanup > Configure Code Cleanup, ou en cliquant sur la flèche à côté de l'icône de balai dans la barre d'état inférieure et en sélectionnant Configure Code Cleanup. Ajoutez les fonctionnalités souhaitées à la section Correcteurs inclus, puis cliquez sur l'icône en forme de balai pour les exécuter.


Vous pouvez configurer le nettoyage et le tri des inclusions dans Outils > Options > Éditeur de texte > C/C++ > Nettoyage de code.


Développement de jeux

Adaptateur de test Unreal Engine

Rationalisez votre processus de test sans quitter l'IDE avec Unreal Engine Test Adapter. Vous pouvez maintenant découvrir, exécuter, gérer et déboguer vos tests Unreal Engine. Dans Visual Studio 2022 version 17.8, vos tests Unreal Engine s'afficheront automatiquement lorsque vous ouvrirez Visual Studio. Pour voir vos tests, vous pouvez ouvrir l'Explorateur de tests avec Affichage > Explorateur de tests.


La dernière version de l'outil gratuit Visual Studio Tools for Unreal Engine est nécessaire pour utiliser Unreal Engine Test Adapter. En outre, assurez-vous que le composant "Unreal Engine Test Adapter" de la charge de travail "Game development with C++" est activé dans le programme d'installation de Visual Studio.

Suggestions de spécification de macros pour Unreal Engine

Il s'agit actuellement d'une fonctionnalité expérimentale qui sera progressivement mise à la disposition des développeurs Unreal Engine dans les semaines à venir.

L'un des retours les plus fréquents que nous recevons est la suggestion de spécificateurs de macros pour Unreal Engine. Nous sommes heureux de vous annoncer que les spécificateurs de macros commenceront à apparaître dans les suggestions de la liste des membres pour les macros de réflexion dans Visual Studio 2022 version 17.8. Cette fonctionnalité vous permettra d'accéder rapidement à tous les spécificateurs possibles pour les macros respectives sans dépendre de votre mémoire ou sans passer d'un logiciel à l'autre et d'une documentation à l'autre.

Vue des fonctions de Build Insights

Build Insights est désormais intégré à Visual Studio 2022 et fonctionne avec les projets MSBuild et CMake utilisant MSVC. Dans Visual Studio 2022 version 17.8, vous pouvez maintenant voir des informations supplémentaires relatives à la génération de fonctions. La nouvelle vue Fonctions vous indiquera la durée de compilation d'une fonction ainsi que le nombre de ForceInlines associées.


Démarrez votre capture de trace Build Insights .etl en allant dans le menu Build.


Après la compilation, Build Insights crée un rapport de diagnostic qui indique le temps de génération de la fonction ainsi que les ForceInlines.

Lire la suite

Source : Microsoft

Et vous ?

Que pensez-vous de cette version 17.8 de Visual Studio et des fonctionnalités qu'elle propose ?

Voir aussi

Microsoft annonce Visual Studio 17.8 avec des améliorations portant sur la productivité, les langages de programmation et la gestion d'entreprise, ainsi qu'une intégration complète avec .NET 8

Visual Studio 2022 17.8 Preview 3 est disponible, cette version améliore la stabilité et la fiabilité, et intègre un nouvel outil pour un diagnostic d'erreur structuré

Visual Studio 2022 17.8 Preview 2 est disponible, apportant le support du Threading C11 et la prise en charge de launch.json pour le dossier ouvert

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