« Alors que nous continuons à remplir notre mission n'importe quel développeur, n'importe quelle application, n'importe quelle plateforme, c’est toujours une période excitante pour l’équipe de Visual Studio lorsque nous devons lancer des fonctionnalités majeures. Nous publions aujourd'hui la version 16.3 de Visual Studio 2019, qui comprend la prise en charge de la version .NET Core 3.0, d'importantes améliorations du C++ et de superbes mises à jour pour les développeurs Python, ainsi que le support de TypeScript 3.6 ».
Comme à l'accoutumée, Microsoft en a profité pour proposer la première préversion de Visual Studio 16.4.
.NET Core 3.0
Visual Studio version 16.3 inclut la prise en charge de .NET Core 3.0. À propos de .NET Core 3.0, Scott Hanselman fait une description assez intéressante :
« .NET Core est open source et multiplateforme. Vous pouvez utiliser .NET Core pour exécuter des applications serveur sous Windows, Mac, une douzaine de systèmes Linux, iPhone, des dispositifs IdO et plus encore. .NET Core est open source, multiplateforme et rapide.
« En parallèle à la sortie de .NET Core 3.0 figure C# 8.0, disponible en version générale ! Lui aussi est open source. Il s'agit d'un langage que beaucoup d’entre vous utiliseront pour créer vos applications. Visual Studio 16.3 prend en charge C# 8.0 et .NET Core 3.0, ainsi que les outils pour toutes les nouvelles fonctionnalités de .NET Core 3.0. Cela inclut la prise en charge de la création d'applications de bureau avec Windows Forms et WPF, d'applications Web côté client avec Blazor et de microservices back-end utilisant gRPC.
« Bien que .NET Core 3.0 soit multiplateforme, vous pouvez également créer des applications spécifiques à la plateforme ! Cela signifie que vos applications peuvent " s'allumer " avec des fonctionnalités spécifiques au système d'exploitation. Par exemple, si vous souhaitez parler à un capteur de lumière sur un Raspberry Pi avec .NET Core, vous pouvez !
« L'étape suivante est évidente : prenez (si vous le souhaitez) vos apps Windows Forms ou WPF vieilles de 15 ans, permutez leur "moteur" pour tirer parti des nouveaux avantages apportés par .NET Core 3.0. C'est comme une greffe du cerveau qui peut rendre votre application plus rapide, plus facile à déployer et à maintenir, mais il s’agira toujours d’une application Windows utilisant votre code existant.
« Vous pensez peut-être que, étant donné que .NET Core 3.0 prend en charge Windows Forms et WPF, cela pourrait être plus lourd ou prendre plus de place. En fait, cette prise en charge existe dans les packages NuGet facultatifs. Vos applications .NET Core sont plus petites que jamais (et le seront encore plus dans les prochaines versions) et fonctionnent incroyablement bien dans les conteneurs / Docker et dans le cloud où la densité est nécessaire ».
Une application WPF affichée dans le nouveau concepteur
Parmi les autres améliorations apportées par .NET Core 3.0, nous pouvons citer :
- le support de HTTP/2 dans HttpClient ;
- les applications .NET Core ont maintenant des exécutables par défaut : dans les versions précédentes, les applications devaient être lancées via la commande dotnet ;
- la taille de tas par défaut du récupérateur de mémoire a été réduite, aboutissant à une diminution de la quantité de mémoire utilisée par .NET Core. Le récupérateur de mémoire a également été mis à jour afin de mieux utiliser un grand nombre de cœurs sur des machines de plus de 64 cœurs ;
- .NET Core fonctionne mieux avec Docker, le ramasse-miettes et le pool de threads ont été mis à jour pour fonctionner beaucoup mieux lorsqu'un conteneur a été configuré pour une mémoire ou un processeur limité. Les images docker .NET Core également sont plus petites, en particulier celles du SDK
Prise en charge des applications .NET Core Desktop
En fait, l'une des principales nouveautés de cette version est la prise en charge des applications desktop. Vous pouvez maintenant créer des applications Windows Forms et WPF avec .NET Core, sous Windows. Précisons que pour les applications de bureau de .NET Framework existantes, Microsoft a également veillé à faciliter leur migration vers .NET Core.
Visual Studio 2019 16.3 prend en charge la création d'applications WPF qui ciblent .NET Core. Cela inclut de nouveaux templates, un concepteur XAML (similaire au concepteur XAML existant qui cible .NET Framework) et XAML Hot Reload. Le concepteur Windows Forms est quant à lui toujours en préversion et disponible en téléchargement séparé, en tant qu'extension Visual Studio. Il sera ajouté à Visual Studio dans une version ultérieure. Il ne prend actuellement en charge que les contrôles et les fonctionnalités de bas niveau les plus couramment utilisés. Microsoft ne recommande donc pas de porter vos applications Windows Forms vers .NET Core, en particulier si vous comptez sur le concepteur. Les développeurs sont plus invités à le tester afin de partager leurs avis. Soulignons que vous pouvez également créer et générer des applications de bureau en utilisant la CLI .NET.
Jacqueline indique que :
« .NET Core 3.0 inclut une prise en charge complète des applications Windows Forms et WPF.
« Dans Visual Studio 2019 version 16.3, vous disposez des outils habituels pour la construction et la publication d'applications WPF, notamment le concepteur WPF XAML, des outils de création de packages MSIX pour les applications WPF, etc.
« Nous sommes également heureux d’annoncer que la première préversion des projets Windows Forms Designer pour .NET Core est disponible aujourd’hui ! Nous en sommes encore au début. Aussi, il n'est disponible pour le moment qu'en tant qu’extension Visual Studio («VSIX»). Une fois que vous avez installé .NET Core Designer, Visual Studio choisit automatiquement le concepteur approprié en fonction du framework cible de votre application. Cette préversion de Designer prend en charge un sous-ensemble de contrôles, mais d’autres seront ajoutés chaque mois dans des préversions ultérieures. C’est pourquoi nous ne recommandons pas encore de porter vos applications Windows Forms sur .NET Core si vous devez utiliser le concepteur régulièrement.
« Outre la prise en charge de WPF et de Windows Forms avec .NET Core, nous avons récemment introduit la prise en charge de WPF et de Windows Forms dans Visual Studio App Center en tant que préversion publique ».
Applications NET dans les conteneurs
Depuis Visual Studio 2019 version 16.3 Preview 2, les développeurs qui créent des solutions sans serveur à l'aide des fonctions Azure (v2) peuvent ajouter le support des conteneurs Docker à leurs projets C#. Ces outils de la catégorie « Container Tools » introduisent plusieurs avantages. Entre autres avantages, ils rendent les fonctions Azure beaucoup plus portables, améliorent la productivité en conteneurisant facilement les fonctions Azure dans un conteneur Linux.
Microsoft ne s’est pas arrêté à la portabilité et la productivité avec les outils « Container Tools ». En plus de cela, les outils ajoutent, non seulement, un Dockerfile au projet et construisent automatiquement l'image du Docker, mais également, vous pouvez vous assurer que votre code fonctionne comme prévu avec la possibilité supplémentaire de déboguer les fonctions Azure qui tournent à l'intérieur du conteneur. Microsoft recommande que la cible de débogage soit définie sur Docker afin de pouvoir activer cette fonctionnalité. Comme autres avantages de ces outils, ils vous permettent de définir des points d'arrêt, inspecter des variables et parcourir vos fonctions Azure.
Applications .NET dans Containers
Cette fonctionnalité est donc disponible avec la version générale de Visual Studio et son chemin d'accès reste le même.
Jacqueline avance que : « les développeurs qui se servent d'Azure Functions (v2) peuvent désormais ajouter la prise en charge du conteneur Docker (Linux uniquement) à leurs projets C#. Pour ce faire, cliquez avec le bouton droit de la souris sur le nom du projet dans l'Explorateur de solutions et sélectionnez Ajouter> Support Docker. En plus d'ajouter un fichier Docker à votre projet, la cible de débogage sera définie sur "Docker", ce qui signifie que lorsque vous déboguez votre application Function, cela se fera dans le conteneur en cours d'exécution ».
Productivité .NET
Comme C# 8.0 et .NET Core 3.0 sont désormais disponibles, les outils Visual Studio ont été mis à jour pour vous rendre plus productif lorsque vous utilisez ces nouveaux outils. Voici un aperçu des dizaines de fonctionnalités de refactorisation que Microsoft a ajoutées :
Vous pouvez encapsuler des chaînes avec un refactoring. Pour essayer ceci, placez votre curseur sur une chaîne et appuyez sur Ctrl +. pour ouvrir le menu Actions rapides et refactorisations.
Vous pouvez maintenant renommer un fichier en renommant une interface, une énumération ou une classe. Pour ce faire, placez simplement le curseur dans le nom de la classe et tapez Ctrl + R, R pour ouvrir la boîte de dialogue Renommer et cocher la case Renommer le fichier.
Visual Studio 2019 version 16.4 Preview 1
Si vous êtes un développeur qui souhaite essayer les outils de pointe dans .NET, découvrez les fonctionnalités de Visual Studio 2019 version 16.4 Preview 1.
C++
Visual Studio 2019 version 16.3 apporte de nouvelles fonctionnalités de productivité à tous les développeurs C++ et apporte des améliorations à l'expérience de développement multiplateforme C++.
Au-delà de ces deux aspects, ceux d'entre vous qui suivent les efforts de conformité à la norme C++ Standard de Microsoft seront peut-être heureux d'apprendre que, dans la bibliothèque standard C++ (STL), plusieurs nouvelles fonctionnalités en préversion sont disponibles sous /std:c++, parmi lesquels les C++ Concepts.
Productivité C ++
Il existe plusieurs améliorations pour lesquelles les développeurs C ++ sont enthousiastes. Par exemple, vous pouvez basculer entre les commentaires de ligne à l’aide du raccourci clavier Ctrl + K, Ctrl + / pour facilement mettre de côté le code que vous ne voulez pas compiler pour le moment.
La liste de complétion IntelliSense est plus puissante avec un filtre intégré qui prend en compte les qualificateurs de type. Par exemple, si vous tapez après const std::vector, la liste filtrera désormais les fonctions qui la modifieraient illégalement, telles que push_back.
Ensuite, un nouveau schéma de colorisation sémantique par défaut vous permet de mieux comprendre votre code d’un coup d’œil. Vous remarquerez de nouvelles couleurs dans les zones suivantes: fonctions, variables locales, caractères d'échappement, mot-clé de contrôle (if / else / for / return), caractères d'échappement de chaîne et macros. Il existe également une option permettant de différencier les fonctions et variables globales et membres. Les captures d'écran ci-dessous illustrent la nouvelle colorisation des thèmes bleus et sombres de Visual Studio:
Enfin, Microsoft a activé IntelliCode par défaut pour les développeurs C++, ajouté un moyen de configurer la fenêtre Pile d'appels pour masquer ou afficher les arguments de modèle afin d'améliorer la lisibilité et ajouté de nouvelles règles CppCoreCheck à Visual Studio Code Analysis.
Python
Avec cette version, vous profiterez d’une expérience de test renouvelée pour vos projets Python. Non seulement le support populaire pour le framework pytest est désormais pris en charge, mais le support pour le framework unittest a été amélioré pour vous offrir une expérience de test plus transparente. Passons en revue certaines de ces améliorations, depuis la configuration et l’exécution des tests jusqu’au débogage et enfin la couverture de code.
Configuration et exécution de tests
Voyons comment procéder pour les projets Python, puis pour le scénario Open Folder.
Pour activer l’expérience de test dans les projets Visual Studio for Python, cliquez avec le bouton droit de la souris sur le nom du projet et sélectionnez l’option ‘Propriétés’. Cette option ouvre le concepteur de projet, ce qui vous permet de configurer des tests en cliquant sur l’onglet ‘Test’. Dans l’onglet ‘Test’, cliquez simplement sur la liste déroulante ’Test Framework’ pour sélectionner le framework de test que vous souhaitez utiliser, comme vous pouvez le voir sur cette capture d’écran:
Appuyez sur CTRL + S pour lancer la découverte de test pour la structure de test que vous avez sélectionnée, qu'il s'agisse de pytest ou d'unittest.
Pour les scénarios Open Folder, l'expérience de test repose sur le fichier PythonSettings.json pour la configuration. Ce fichier se trouve dans votre dossier ‘local settings’ comme indiqué ici:
Couverture de code pour les tests
Pour activer la couverture de code pour votre projet / dossier actuellement ouvert, vous devez installer le paquet Python, la couverture, dans votre environnement virtuel actif. Ensuite, vous pouvez analyser la couverture de code en accédant à l'Explorateur de tests et en sélectionnant Analyser la couverture de code pour tous les tests.
Source : Microsoft
Et vous ?
Quelles sont les éléments qui vous intéressent le plus ?
Voir aussi :
Conférence CppCon 2019 : Microsoft libère son implémentation de la STL, la bibliothèque standard de C++ livrée avec Visual C++, sous licence Apache 2.0
Microsoft présente un nouveau Terminal pour Visual Studio qui partage l'essentiel du noyau de Windows Terminal, disponible à partir des préversions de Visual Studio 16.3
Microsoft amorce le support des Concepts apportés par C++ 20 dans Visual Studio 2019 version 16.3 Preview 2, au niveau du compilateur mais aussi de la bibliothèque
Visual Studio Code 1.38 permet de préserver la casse dans "Rechercher et remplacer" et est livré avec TypeScript 3.6.2