C++
L'éditeur apporte des améliorations pour le développement C++. Microsoft indique l'arrivée d'outils de ligne de commande supplémentaires. Tout d'abord, vous pouvez maintenant cibler la version LLVM du runtime OPenMP avec le commutateur de ligne de commande /openmp:llvm. Cet élément inclut la prise en charge de la clause lastprivate sur les sections #pragma omp et des variables d'index non signées en parallèle pour les boucles. Veuillez garder à l'esprit que ce commutateur n'est actuellement disponible que pour la cible AMD64, et Microsoft le considère toujours comme étant expérimental.
Ensuite, les projets Visual Studio CMake ont désormais une prise en charge de premier ordre pour le développement Windows à distance. Cela inclut la configuration d'un projet CMake pour cibler Windows ARM64. Par la suite, vous pouvez également déployer et déboguer le projet sur une machine Windows distante à partir de Visual Studio 2019.
En parlant de CMake, Microsoft a livré des binaires pour Ninja et CMake avec Visual Studio depuis un certain temps. Comme promis, l'éditeur continue à les mettre à niveau afin que vous puissiez tirer le meilleur parti des versions récentes de ces outils. Dans cette version, Microsoft a mis à niveau Ninja vers la v1.10 et CMake vers la v3.19.
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. Pendant que l'éditeur travaille sur la stabilité, il a également ajouté des fonctionnalités supplémentaires. L'éditeur a décidé de mettre en évidence 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 les modules avec des noms identiques.
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, emplace et emplace_back. Ceux-ci fournissent une complétion basée sur le paramètre de type spécifié.
Complétion IntelliSense supplémentaire dans Visual Studio 2019 v16.9 Preview 3
Microsoft a également amélioré la conformité du langage de C++ en implémentant certains rapports de défauts de normes.
Address Sanitizer
Après avoir annoncé le support ASan pour Windows l'année dernière, Microsoft assure avoir travaillé continuellement sur l'expérience utilisateur et la mise en œuvre.
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. Comme les autres bibliothèques ASan, cette bibliothèque spécifique, vcasan, est trouvée automatiquement lorsque vous passez /fsanitize=address. Le compilateur et l'éditeur de liens suggéreront également d'émettre des informations de débogage s'ils détectent que vous effectuez une build avec ASan mais ne reçoivent pas d'informations de débogage. À l'approche de la version généralement disponible de Visual Studio 2019 v16.9, Microsoft promet de fournir plus de détails dans la documentation complète d'ASan.
Enfin, Microsoft a apporté quelques extensions et correctifs au support Windows.
Utilisation d'Audio Cues avec Test Explorer
Il s'agit d'une suggestion des utilisations : Test Explorer peut désormais jouer un son personnalisable à la fin d'un test. Vous pouvez sélectionner deux sons différents. Le premier est pour indiquer que le test a été un succès, le second son choisi indiquerait un test avec au moins un échec. Ce qui rend cela encore plus intéressant, c'est l'accessibilité supplémentaire de l'Explorateur de tests en ajoutant Audio Cues pour les développeurs malvoyants.
Lorsque vous utilisez cette fonctionnalité pour la première fois, la sélection de son est la boîte de dialogue audio par défaut de Windows 10 qui contient de nombreux sons prédéfinis. Rassurez-vous, vous pouvez utiliser n'importe quel fichier audio de votre ordinateur!
Le menu Group By a également été rendu plus convivial avec les lecteurs d'écran, Microsoft ayant opté pour un libellé plus concis et un ordre des mots plus efficace.
Amélioration du contraste élevé
En parlant d’accessibilité, dans le cadre de l’engagement de l’équipe Visual Studio envers de telles expériences, l’EDI a la capacité de détecter si les paramètres de contraste élevé sont activés dans Windows. Si ces options sont activées, Visual Studio 2019 respectera ces paramètres.
Encore une fois, cette suggestion est venue des conseils des utilisateurs selon lesquels les thèmes Visual Studio devraient mieux répondre à leurs besoins que ceux fournis par le système d'exploitation. Microsoft a ajouté une case à cocher pour vous permettre de vous assurez, si vous le souhaitez, que Visual Studio utilise le mode Windows Contraste élevé.
Pour activer cette fonction, allez dans Outils> Options. Notez que la nouvelle option Utiliser les paramètres de contraste élevé de Windows. Lorsque cette option est cochée, le paramètre par défaut correspond aux paramètres de contraste élevé Windows détectés. Si cette case n'est pas cochée, vous êtes libre de choisir l'un des thèmes inclus avec Visual Studio 2019. Ce choix de thème continuera à persister même si Windows signale qu'un thème de couleur à contraste élevé est utilisée.
Productivité .NET
L'équipe de productivité .NET a été occupée à ajouter des améliorations supplémentaires d'IntelliSense. Dans cette version, Microsoft a mis en exergue la complétion pour les symboles de préprocesseur. Si vous souhaitez voir cette fonctionnalité en action, commencez à taper la directive #if pour voir les nouvelles options de complétion disponibles pour les symboles actuellement définis dans la portée.
Complétion IntelliSense pour les symboles de préprocesseur dans Visual Studio 2019 v16.9 Preview 3
Vous remarquerez peut-être une nouvelle modification dans l'Explorateur de solutions car il affichera désormais les nouveaux générateurs de source .NET 5.0 sous le nœud Analyzer. Cela vous permettra de naviguer et d'afficher facilement le code généré.
.NET 5.0 Source Generators dans Visual Studio 2019 v16.9 Preview 3
Go to All n'affichera plus les résultats en double dans netcoreapp3.1 et netcoreapp2.0 ainsi que les résultats des types partiels qui existent pour envelopper un autre type imbriqué. Cela aidera à désencombrer les résultats afin que vous puissiez facilement trouver et naviguer dans votre code. Les résultats incluent désormais le nom de fichier des symboles partiels.
Meilleure navigation dans le code avec Go to All dans Visual Studio 2019 v16.9 Preview 3
Outils XAML (WPF, WinUI, UWP et Xamarin.Forms)
Microsoft a développé MVVM Tooling pour XAML. La fonctionnalité constitue l'introduction d'ampoules pour générer des commandes et de nouveaux modèles de vue.
Source : Microsoft