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 annonce Visual Studio 2022 version 17.5 pour les développeurs C++

Le , par Sandra Coret

17PARTAGES

3  0 
La version 17.5 de Visual Studio 2022 est désormais disponible. Ce post résume les nouvelles fonctionnalités que vous pouvez trouver dans cette version pour C++

Arm64

En 17.3, vous pouviez utiliser Visual Studio comme une application native Arm64. Dans la version 17.4, vous pouviez utiliser la chaîne d'outils native Arm64 en production. Poursuivant la progression, dans la version 17.5 vous pouvez maintenant obtenir un ensemble d'outils Clang natif Arm64 avec la charge de travail LLVM !


Productivité et développement de jeux
Performances des constructions


L'un des tickets les plus votés par la communauté des développeurs concernait la surcharge d'exécution de fonctions telles que std::move et std::forward dans les builds de débogage. Dans la version 17.5, nous avons résolu ce problème en faisant en sorte que ces fonctions de type cast ne produisent jamais d'appels de fonction dans le code généré, même en mode débogage. En fonction de vos projets, cela peut améliorer sensiblement les performances de vos constructions de débogage. Cette fonctionnalité est supportée par un nouvel attribut, [[msvc::intrinsic]]. Il peut être appliqué aux fonctions non récursives constituées d'un seul jet, qui ne prennent qu'un seul paramètre. Vous pouvez en savoir plus sur ces changements dans Améliorer l'état des performances de débogage en C++.
Productivité des développeurs

Cette section indiquait que la colorisation des paires d'accolades et la vérification orthographique étaient disponibles dans cette version. Malheureusement, ils ont été reportés à la version 17.6. Vous pouvez les essayer dans la version 17.6 Preview 1 qui est maintenant disponible.

La version 17.5 s'accompagne d'un grand nombre de nouvelles fonctions de productivité, décrites ci-dessous, et vous pouvez en apprendre davantage à leur sujet dans C++ Brace Pair Colorization and More in Visual Studio.

La liste des membres réimaginée est une nouvelle fonctionnalité expérimentale qui place les membres dont le type correspond au contexte dans lequel vous vous trouvez en haut de la liste pour un accès facile. Cette fonctionnalité est actuellement déployée auprès d'un sous-ensemble d'utilisateurs et nous explorerons cet espace plus avant dans les prochaines versions, en évaluant davantage de critères pour promouvoir les éléments en haut de la liste.

Lorsque vous survolez une macro, la macro développée s'affiche dans une fenêtre contextuelle. Grâce à un nouveau formatage et à une police monospace, vous pourrez lire la macro développée beaucoup plus facilement. Vous disposez également de deux nouvelles options : copier la macro développée dans le presse-papiers et remplacer l'invocation de la macro par son développement.


Visual Studio dispose désormais d'un vérificateur d'orthographe qui vous aide à rendre votre orthographe exacte. Cette fonctionnalité vérifie l'orthographe de tous les mots contenus dans les commentaires, et les noms des déclarations seront vérifiés en séparant les mots en majuscules et les mots soulignés. Grâce à des actions rapides, vous pouvez ensuite facilement sélectionner un remplacement ou choisir d'ignorer le problème d'orthographe, en ajoutant le mot à votre dictionnaire personnel.


Unreal Engine

Vous pouvez désormais afficher les propriétés des classes de base modifiées dans un actif Unreal Blueprint sans quitter Visual Studio. Double-cliquez dans une référence Blueprint pour une classe ou une propriété C++ pour ouvrir l'UE Asset Inspector.


Sécurité du code

Si vous voulez moins de bruit lorsque vous utilisez le Lifetime Checker, vous pouvez utiliser les nouvelles versions à haut niveau de confiance des avertissements existants. À partir de la version 17.5, les avertissements à haut niveau de confiance sont encore expérimentaux, mais en fonction des réactions, nous pourrions les inclure dans certains des profils recommandés dans les prochaines versions. Vous pouvez en savoir plus en consultant la section High-confidence Lifetime Checks dans Visual Studio version 17.5 Preview 2.
Conformité aux normes
C++23


Nous poursuivons notre travail sur la conformité aux normes pour C++23, en vous offrant plusieurs nouvelles fonctionnalités de la bibliothèque standard à essayer.

std::ranges::fold_left, fold_right et friends définissent des opérations de pliage, similaires à std::accumulate, mais plus générales. Par exemple :

Code : Sélectionner tout
1
2
std::vector<double> v = {0.25, 0.75};
auto sum = ranges::fold_left(v, 0, std::plus());
std::views::zip est un adaptateur de plage pour "zipper" ensemble plusieurs plages, avec le Nième élément étant un tuple des Nièmes éléments de toutes les plages fournies. Par exemple :

Code : Sélectionner tout
1
2
3
4
std::vector<std::string> cats { "marshmallow", "milkshake", "lexical cat" };
std::vector<int> ages { 4, 4, 6 };
// {{"marshmallow", 4}, {"milkshake", 4}, {"lexical cat", 6}}
std::views::zip(cats, ages)
std::format_string fournit un moyen de prendre une chaîne de format vérifiée à la compilation comme argument de fonction. Par exemple :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
template <typename... Args>
void log(std::format_string<Args...> s, Args&&... args) {
    if (logging_enabled) {
        log_raw(std::format(s, std::forward<Args>(args)...));
    }
}

log("cat {} is {} years old", cat.name(), cat.age());
Pour plus de détails sur les nouveautés et les nouveautés à venir dans la bibliothèque standard, consultez le journal des modifications sur GitHub.

C11

Nous étendons également notre support des fonctionnalités optionnelles C11. Vous pouvez désormais utiliser une implémentation expérimentale des primitives atomiques C11 (<stdatomic.h> avec l'indicateur /experimental:c11atomics en mode /std:c11 ou plus. Vous pouvez en savoir plus dans C11 Atomics dans Visual Studio 2022 version 17.5 Preview 2.
Plateformes croisées et embarquées
Linux


Si vous ciblez des plates-formes Linux, vous pouvez désormais interagir avec des processus distants avec des E/S de terminal complètes grâce au terminal intégré de Visual Studio. Cela vous permet de déboguer facilement les applications de terminal interactif, le tout à partir de Visual Studio. Pour en savoir plus, consultez Debug Linux Console apps in Visual Studio's Integrated Terminal.


Embarqué

La surveillance simultanée est maintenant supportée dans le Serial Monitor. Cela vous permet de surveiller plusieurs ports en même temps, côte à côte ! Appuyez sur le bouton "Ouvrir un moniteur supplémentaire" pour commencer.


CMake

Si vous avez plusieurs cibles CMake dans un projet, vous pouvez maintenant sélectionner plusieurs cibles à construire depuis la vue des cibles CMake. Utilisez Ctrl+Click ou Shift+Click pour sélectionner l'ensemble des cibles que vous voulez construire, faites un clic droit sur l'une d'entre elles, et sélectionnez "Build Selection" pour les construire toutes.


CMakePresets.json vous donne un moyen standard d'exprimer vos configurations de construction CMake que vous pouvez facilement vérifier dans le contrôle de source. Vous pouvez maintenant utiliser CMakePresets.json version 5 dans Visual Studio. Consultez la documentation de CMake pour obtenir des informations sur les nouvelles fonctionnalités.

Si vous avez de grandes suites de tests, vous pouvez vouloir tirer le meilleur parti de tout votre matériel pour les exécuter aussi rapidement que possible. Pour cela, Test Explorer peut maintenant construire et tester plusieurs cibles CMake en parallèle. Activez ceci avec l'option "Run Tests in Parallel".


Conteneurs de développeur

Pour ceux d'entre vous qui utilisent des conteneurs de développeur, vous êtes maintenant en mesure de les exécuter sur une machine Linux distante et d'ouvrir une fenêtre de terminal dans le conteneur de développeur en cours d'exécution.

Source : Microsoft

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

Microsoft annonce la sortie officielle de Visual Studio 2022 17.5, et dote l'EDI d'une fonctionnalité de suggestions de code basée sur l'IA, ainsi que de performances plus accrues

Visual Studio 2022 17.5 Preview 3 apporte la colorisation des paires d'accolades pour C++, ainsi que des améliorations du débogage de source externe

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