Visual Studio 2019 version 16.5 Preview 2 apporte des améliorations au développement C++ CMake,
Xamarin, ainsi qu'à l'outillage Azure

Microsoft a annoncé la disponibilité de Visual Studio 2019 version 16.5 Preview 2. Passons en revue quelques fonctionnalités clés.

Développement C++ CMake

La prise en charge native de Visual Studio pour CMake vous permet de cibler à la fois Windows et Linux dans le confort d'un seul IDE. Visual Studio 2019 version 16.5 Preview 2 présente plusieurs nouvelles fonctionnalités spécifiques au développement multiplateforme, notamment:
  • Les optimisations de copie de fichiers pour les projets CMake ciblant un système Linux distant
  • La prise en charge native de WSL lors de la séparation de votre système de génération de votre système de déploiement à distance
  • La possibilité d'ajouter, de supprimer et de renommer facilement des fichiers dans des projets CMake
  • Les services de langages CMake
  • Un utilitaire de ligne de commande pour interagir avec le gestionnaire de connexion
  • La conformité FIPS 140-2 pour le développement C ++ à distance

Optimisations de copie de fichiers pour les projets CMake ciblant un système Linux distant

Visual Studio copie automatiquement les fichiers source de votre machine Windows locale vers votre système Linux distant lors de la création et du débogage sous Linux. Dans Visual Studio 2019 version 16.5, ce comportement a été optimisé. Visual Studio conserve désormais un « fichier d'empreinte » du dernier ensemble de sources copié à distance et optimise le comportement en fonction du nombre de fichiers modifiés.
  1. Si aucun changement n'est identifié, aucune copie ne se produit.
  2. Si seuls quelques fichiers ont changé, sftp est utilisé pour copier les fichiers individuellement.
  3. Si seuls quelques répertoires ont changé, une commande rsync non récursive est émise pour copier ces répertoires.
  4. Sinon, une copie rsync récursive est appelée à partir du premier répertoire parent commun des fichiers modifiés.

Ces améliorations ont été testées par rapport à LLVM. Une modification triviale a été apportée à un fichier source, ce qui provoque l'appel de la copie du fichier source distant et la reconstruction de l'exécutable lorsque l'utilisateur commence le débogage.

Sans optimisation, une copie rsync récursive complète est exécutée à partir de la racine CMake. Avec ces optimisations, Visual Studio détecte qu'un seul fichier a changé et utilise sftp pour recopier uniquement le fichier qui a changé.

Prise en charge native de WSL avec séparation de build et du déploiement

Visual Studio 2019 version 16.1 a introduit la possibilité de séparer votre système de build à distance de votre système de déploiement à distance. Dans Visual Studio 2019 version 16.5, cette fonctionnalité a été étendue pour inclure la prise en charge native de WSL. Maintenant, vous pouvez faire des builds nativement sur WSL et déployer / déboguer sur un deuxième système Linux distant connecté via SSH.

Le système Linux spécifié dans l'éditeur de paramètres CMake est utilisé pour les builds. Pour faire des builds nativement sur WSL, accédez à l'éditeur de paramètres CMake (liste déroulante Configuration> Gérer les configurations…) et ajoutez une nouvelle configuration WSL. Vous pouvez sélectionner WSL-GCC-Debug ou WSL-Clang-Debug selon le jeu d'outils que vous souhaitez utiliser.

Le système Linux distant spécifié dans launch.vs.json est utilisé pour le débogage. Pour déboguer sur un deuxième système Linux distant, ajoutez une nouvelle configuration Linux distante à launch.vs.json (cliquez avec le bouton droit sur la racine CMakeLists.txt dans l'Explorateur de solutions> Paramètres de débogage et de lancement) et sélectionnez C/C++ Attach for Linux ( gdb).

Le système Linux spécifié dans les pages de propriétés Linux est utilisé pour les builds. Pour en faire en mode natif sur WSL, accédez à Propriétés de configuration> Général et définissez le jeu d'outils de plateforme. Vous pouvez sélectionner GCC pour le sous-système Windows pour Linux ou Clang pour le sous-système Windows pour Linux selon le jeu d'outils que vous souhaitez utiliser. Cliquez sur "Appliquer".

Par défaut, Visual Studio crée et débogue en WSL. Pour spécifier un deuxième système distant pour le débogage, accédez à Propriétés de configuration> Débogage et définissez Machine de débogage distant sur l'une des connexions distantes spécifiées. Vous pouvez ajouter une nouvelle connexion à distance via le gestionnaire de connexions. Vous pouvez également spécifier un chemin d'accès au répertoire sur le système distant pour le projet à déployer via le répertoire de déploiement à distance.

Ajoutez, supprimez et renommez facilement des fichiers dans les projets CMake

Il est plus facile que jamais de travailler avec des projets CMake dans Visual Studio. Dans la dernière préversion, vous pouvez ajouter, supprimer et renommer des fichiers source et des cibles dans vos projets CMake à partir de l'EDI sans modifier manuellement vos scripts CMake. Lorsque vous ajoutez ou supprimez des fichiers avec l'Explorateur de solutions, Visual Studio modifie automatiquement votre projet CMake. Vous pouvez également ajouter, supprimer et renommer les cibles du projet à partir de la vue des cibles de l'Explorateur de solutions.

Nom : cmake.png
Affichages : 7013
Taille : 92,0 Ko

Dans certains cas, il peut y avoir plus d'un endroit où il est logique d'ajouter un fichier source à un script CMake. Lorsque cela se produit, Visual Studio vous demandera où vous souhaitez effectuer la modification et afficher un aperçu des modifications proposées:

Nom : cmake1.png
Affichages : 924
Taille : 71,4 Ko

Services de langages CMake

La dernière préversion de Visual Studio facilite également la compréhension des projets CMake complexes. Les fonctionnalités de navigation de code telles que Aller à la définition et Rechercher toutes les références sont désormais prises en charge pour les variables, les fonctions et les cibles dans les fichiers de script CMake.

Utilitaire de ligne de commande pour interagir avec le gestionnaire de connexions

Dans Visual Studio 2019 version 16.5 ou ultérieure, vous pouvez utiliser un utilitaire de ligne de commande pour ajouter et supprimer par programme des connexions distantes du magasin de connexions. Cela est utile pour des tâches telles que l'approvisionnement d'une nouvelle machine de développement ou la configuration de Visual Studio en intégration continue.

Conformité FIPS 140-2 pour le développement C++ à distance

La publication 140-2 de la Federal Information Processing Standard (FIPS) est une norme du gouvernement américain pour les modèles cryptographiques. Les implémentations de la norme sont validées par le NIST. À partir de Visual Studio version 16.5, le développement Linux à distance avec C ++ est compatible FIPS 140-2.

Développement Xamarin

Ici, les points saillants inclus :
  • Xamarin Hot Restart : testez les modifications apportées à votre application, y compris les modifications de code multi-fichiers, les ressources et les références. Tout en utilisant également un cycle de build et de déploiement beaucoup plus rapide. Avec Hot Restart, déboguez votre application iOS construite avec Xamarin.Forms sur un appareil connecté à votre machine Windows. Cela permet une boucle de développement interne beaucoup plus rapide.
  • La consultation des modifications apportées à Android : consultez rapidement les modifications apportées à vos fichiers de ressources Android. Tels que les mises en page, les éléments à dessiner, etc., sur un appareil ou un émulateur Android sans nécessiter le redémarrage de l'application.
  • Démarrage Android plus rapide: générez vos propres profils personnalisés à l'aide du suivi de démarrage dans votre application Android. Amélioration du démarrage de l'application avec une augmentation minimale de la taille de l'application.
  • Aperçu du document XAML: consultez la hiérarchie de votre interface utilisateur Xamarin.Forms dans le volet «Aperçu du document».

Itération plus rapide avec Xamarin Hot Restart

Lors de l'exécution de votre application, votre code C# est compilé et utilisé, avec vos autres ressources de projet, pour créer un ensemble d'applications. Cet ensemble est ensuite déployé sur votre émulateur, simulateur ou appareil. Les versions incrémentielles permettent de réduire le temps de compilation. Cependant, les déploiements prennent généralement le même temps, quelle que soit la taille de la modification.

Xamarin Hot Restart fonctionne en poussant de nouvelles modifications dans le bundle d'application existant lorsque cela est possible. Ce qui réduit considérablement le temps de déploiement. Il prend également en charge les modifications apportées aux fichiers de code, aux ressources et aux références. Ainsi, que vous modifiiez vos modèles de vue ou échangiez des ressources d'image, le redémarrage à chaud vous permet de transmettre rapidement les modifications à un appareil ou à un émulateur. Aucune configuration de projet n'est requise, donc le redémarrage à chaud s'intègre facilement et améliore votre flux de travail existant. De plus, lors du débogage de votre application, vous pouvez modifier votre code C# et appuyer sur le bouton de redémarrage pour appliquer les modifications. Votre application est automatiquement redémarrée afin que vous puissiez désormais tester les nouvelles modifications.


Appliquer les modifications sur Android

Après discussion avec des développeurs, l'équipe a constaté que les ressources Android, ainsi que les mises en page et les drawables, constituaient une partie importante des modifications. Dans cette version, elle a introduit la prise en charge d'Android Apply Changes, qui vous permet de modifier les ressources au moment de l'exécution sans avoir à redémarrer votre application, même pendant une session de débogage.


Aperçu du document XAML

Les développeurs de Xamarin.Forms ont déjà accès à une pléthore d'outils pour aider à créer des interfaces utilisateur plus rapidement telles que XAML Hot Reload, la boîte à outils de contrôle et le panneau de propriétés. L'équipe assure que son objectif est de fournir mélange d'outils de conception (tels que boîte à outils, panneau de propriétés, éditeur) et d'exécution (tels que XAML Hot Reload) pour rendre la construction d'interfaces utilisateur Xamarin.Forms productive.

La version Visual Studio 2019 version 16.5 Preview 2 apporte la fonctionnalité Visual Studio Document Outline à XAML. Vous permettant de voir une hiérarchie de votre interface utilisateur Xamarin.Forms dans le volet Structure du document.

Développement des outillages Azure

Azure Functions 3.0 est désormais généralement disponible, il est donc désormais possible de créer et de déployer des fonctions avec la version d'exécution 3.0 en production. Cette nouvelle version du runtime Functions apporte de nouvelles capacités, notamment la possibilité de cibler .NET Core 3.1 et Node 12. Elle est également hautement rétrocompatible, de sorte que la plupart des applications existantes s'exécutant sur des versions de langages plus anciennes devraient pouvoir passer à la version 3.0 et s'exécuter sur sans aucun changement de code. L'exécution de cette nouvelle version du runtime en production bénéficiera de la prise en charge de ces applications.

Les applications exécutées sur des versions antérieures du runtime Azure Functions continueront d'être prises en charge et Microsoft ne déconseille ni 1.0 ni 2.0 pour le moment. Les clients exécutant Azure Functions ciblant 1.0 ou 2.0 continueront également de recevoir des mises à jour et des correctifs de sécurité à l'avenir, à la fois pour le runtime Azure Functions et le runtime .NET sous-jacent, pour les applications exécutées dans Azure. En cas de dépréciation de version majeure, Microsoft prévoit de notifier au moins un an à l'avance les utilisateurs pour qu'il puisse effectuer la migration de leurs applications vers une version plus récente.

Télécharger Visual Studio 2019 version 16.5 Preview 2

Source : Microsoft