Microsoft annonce la disponibilité de Visual Studio 2019 v16.9 et Visual Studio 2019 v16.10 Preview 1
qui s'accompagnent de plusieurs nouveautés et améliorations

Visual Studio 2019 v16.9

Address Sanitizer avec C ++

Tout d'abord, Microsoft a indiqué que la prise en charge de Address Sanitizer pour Windows n'est plus en stade expérimental, mais est désormais disponible en version stable. Le changement marquant est que MSVC peut désormais déterminer quelles bibliothèques d'exécution sont nécessaires pour utiliser ASan avec votre projet. Par conséquent, vous n'avez plus besoin de les fournir lors de la compilation à partir de la ligne de commande. Tout ce que vous avez à faire est de définir /fsanitize=address et les outils régleront le reste des détails.

De plus, l'intégration EDI pour les exceptions signalées par ASan (vcasan.lib) gère désormais la collection complète d'exceptions ASan pouvant être signalées. Si le compilateur et l'éditeur de liens détectent que vous effectuez une build avec Hasan, mais ne reçoivent pas d'informations de débogage, il offrira la possibilité d'émettre ces informations.

Enfin, Microsoft a ajouté la prise en charge des variables C globales et de __declspec (no_sanitize_address). Cela permet de ne pas exécuter Address Sanitizer sur des variables spécifiques ou même des fonctions entières.

Conformité C ++

Microsoft a implémenté les propositions More Constexpr Containers qui permettent aux destructeurs et aux nouvelles expressions d'être constexpr. Cela permet d'ouvrir la voie à des utilitaires tels que constexpr std::vector et std::string. Les diagnostics du compilateur pour les utilisations qui déclenchent un comportement indéfini sont inclus dans l'implémentation de cette version.

C++ IntelliSense

Sur la base des commentaires des développeurs, Microsoft a apporté de nombreuses améliorations à la stabilité et à la fonctionnalité de fourniture de modules importés et d'unités d'en-tête dans IntelliSense. Microsoft a également ajouté des fonctionnalités supplémentaires. Par exemple, les développeurs pourront profiter de Go-to-definition sur les importations de modules, la prise en charge de l'indexation pour l'exportation {…} et une référence de module plus précise pour ceux qui ont des noms identiques.

Nom : go_to.png
Affichages : 30678
Taille : 8,4 Ko

En tant qu'implémentation d'un ticket de suggestion de la communauté des développeurs le plus apprécié, Microsoft a ajouté la complétion pour make_unique, make_shared et emplace_back. Ceux-ci fournissent une complétion de texte basée sur le paramètre de type spécifié.

En outre, Visual Studio 2019 peut configurer IntelliSense dans les projets CMake en fonction de la valeur des variables CMake définies par les fichiers de la chaîne d'outils. Cela améliore considérablement IntelliSense pour Android et d'autres scénarios intégrés. Le fichier CMakeSettings.json est l'emplacement pour spécifier vos options IntelliSense personnalisées.

Gestion améliorée de la pile d'appels des scénarios de débordement de pile

Visual Studio 2019 a une nouvelle capacité pour filtrer les trames redondantes de la pile d'appels lorsque le débogueur s'arrête sur une exception de débordement de pile. Il est maintenant possible de voir la base de la pile d'où provient une récursivité infinie. Cela devrait faciliter l'étude de ces types de bogues.

IntelliCode: Suggestions sans friction dans la liste des compléments

Les suggestions IntelliCode vous aident déjà à trouver d'autres emplacements où une modification répétée s'applique. En comparaison, dans Visual Studio 2019 v16.9, vous pouvez facilement appliquer des suggestions de manière plus fluide et sans interrompre votre flux d'édition. Vous pouvez trouver des suggestions IntelliCode directement dans votre liste de complétion IntelliSense. À partir de là, vous pouvez également rechercher et appliquer le même changement dans d'autres emplacements. Cette nouvelle fonctionnalité de la liste de complétion devrait se fondre naturellement dans votre flux d'édition. La modification est ajoutée à la liste de complétion de manière non intrusive. Cela rend les modifications faciles à trouver et à effectuer des actions répétitives.

Nom : IntelliCode.gif
Affichages : 1612
Taille : 130,6 Ko

Outils AML (WPF, WinUI, UWP et Xamarin.Forms)

Dans cette version, Microsoft a apporté plusieurs améliorations à ses outils XAML, notamment:

Pour les améliorations apportées aux outils MVVM dans l'éditeur de code XAML, Microsoft a introduit des ampoules pour définir le design DataContext en XAML sur un modèle de vue disponible. Cette définition améliore IntelliSense, comme la possibilité de créer de nouvelles propriétés ViewModel, Aller à la définition et aux complétions directement à partir de l'éditeur de code XAML. Vous pouvez même créer de nouvelles propriétés ICommand pour l'implémentation de référence de votre solution.

Xamarin.Forms « modification uniquement » XAML Hot Reload est désormais disponible en version stable et quitte la préversion. Les applications ciblant Xamarin.Forms 5.0 ou version ultérieure utiliseront ce nouveau mode par défaut.

Le nouveau mécanisme « modification uniquement » XAML Hot Reload permet de mettre à jour l'interface utilisateur de votre application en cours d'exécution en temps réel et de voir ces modifications immédiatement reflétées sans nécessiter le rechargement de la page complète et sans avoir à enregistrer le fichier. « modification uniquement » XAML Hot Reload prend également en charge l'arborescence visuelle en direct, ce qui vous permet de voir la hiérarchie de l'interface utilisateur d'exécution de votre application et d'accéder facilement à votre code source XAML.

Nom : arbre.png
Affichages : 1615
Taille : 10,4 Ko

Visual Studio 2019 v16.10 Preview 1

Supprimer les références inutilisées

Microsoft a ajouté des fonctionnalités via la commande Supprimer les références inutilisées. Cette commande vous permet de nettoyer les références de projet inutilisées et les packages NuGet. Cette option est désactivée par défaut, mais vous pouvez l'activer dans le menu Outils> Options> Éditeur de texte> C #> Avancé. Sélectionnez la commande Supprimer les références inutilisées dans l'Explorateur de solutions (expérimental). Une fois l'option activée, la commande Supprimer les références inutilisées apparaîtra dans le menu contextuel d'un nom de projet ou d'un nœud de dépendances.

Simplifier les expressions LINQ

Ensuite, il y a une refactorisation pour simplifier les expressions LINQ. Cela supprimera l'appel inutile à la méthode Enumerable pour la méthode .Where() afin d'améliorer les performances et la lisibilité. Pour accéder à cette fonctionnalité, placez votre curseur sur l'expression LINQ, appuyez sur (Ctrl +) pour déclencher le menu Actions rapides et refactorisations. Sélectionnez Simplifier l'expression LINQ.

Nom : simplifier.png
Affichages : 1638
Taille : 89,1 Ko

Nouvelles options de complétion

Ensuite, il existe une fonctionnalité IntelliSense supplémentaire par la complétion supplémentaire pour les valeurs Enum lorsqu'un type est connu même si la valeur Enum n'est pas entrée.

Microsoft a également ajouté un nouveau paramètre de mode de complétion IntelliSense qui vous permet de définir les options de complétion par défaut. Ce nouveau paramètre est disponible dans Outils> Options> Éditeur de texte> Avancé> Mode de complétion IntelliSense par défaut où vous pouvez choisir parmi les options suivantes: Dernière utilisation qui conservera le dernier paramètre que vous avez utilisé avec Ctrl + Alt + Espace, Tabulation uniquement ce qui uniquement complet sur tabulation, et Automatique qui est actuellement le comportement par défaut qui se terminera sur la ponctuation et les caractères spéciaux.

Installer Visual Studio 2019 v16.10 Preview 1
Installer Visual Studio 2019 v16.9

Source : Microsoft