Angular est d'un intérêt particulier pour les développeurs Microsoft, bien qu'il s'agisse d'un framework open source développé par Google. La raison en est qu'ASP.NET et ASP.NET Core, le framework Web côté serveur de Microsoft, fonctionnent bien en conjonction avec Angular et un template pour l'utilisation d'Angular est fourni avec Visual Studio.
Cependant, lorsqu'il s'agit du développement TypeScript et JavaScript, Visual Studio est moins bien outillé que l'outil multiplateforme Visual Studio Code (VS Code). Dans le cas d'Angular, il existe un Language Service qui gère les fonctionnalités avancées de l'éditeur. Il est notamment expliqué sur la page de présentation que « Angular Language Service fournit aux éditeurs de code un moyen d'obtenir des complétions, des erreurs, des conseils et une navigation dans les modèles Angular. Il fonctionne avec des modèles externes dans des fichiers HTML séparés, ainsi qu'avec des modèles en ligne ». Le hic c'est qu'il ne fonctionne qu'avec VS Code, JetBrains WebStorm et Sublime Text. Les développeurs Visual Studio ne bénéficient que de la prise en charge de base de TypeScript.
Ceci est maintenant corrigé. Microsoft a créé une extension Visual Studio qui ajoute Angular Language Service de langage angulaire, bien que vous ayez besoin d'au moins la version 16.5 (la mise à jour de Visual Studio 2019 publiée en mars 2020) pour l'installer. Dans son annonce, Microsoft explique :
« Pour ceux qui ne le savent pas, l'équipe Angular a fait beaucoup de travail pour améliorer l'expérience d'édition pour Angular en utilisant un outil appelé Angular Language Service. Il pose les bases pour fournir des éléments tels que la saisie semi-automatique, le changement de nom, et bien d'autres encore sur les éditeurs.
« Et aujourd'hui, nous sommes ravis de l'introduire dans Visual Studio.
« Pour en savoir plus, notre équipe a traversé une série d'appels clients pour comprendre leurs flux de travail et leurs points faibles. Après avoir discuté avec beaucoup de ces clients, nous avons remarqué qu'un grand nombre d'utilisateurs d'ASP.NET/ASP.NET Core construisaient leur front-end en Angular. Malheureusement, en dehors des fonctionnalités standard de l'éditeur Visual Studio (telles que la complétion de code, IntelliSense, Aller à la définition, etc.), il n'y a pas beaucoup de support pour Angular.
« C'est pourquoi nous avons décidé d'apporter le service Angular Language Service pour une meilleure expérience client. L'extension apportera des complétions de code Angular, des messages de diagnostic Angular et des informations rapides. »
Cet outil est utile pour les développeurs Angular / .NET Core, même si cela met en évidence un problème que Microsoft s'est créé suite à la popularité de VS Code, qui est considéré comme l'éditeur de code de Microsoft le plus utilisé dans la plupart des enquêtes. Le résultat est que VS Code a un excellent support pour une grande variété de langages et de plateformes. Flutter, par exemple, qui utilise le langage Dart, a une forte extension VS Code, mais n'en dispose pas sur Visual Studio.
D'autre part, Visual Studio reste la meilleure expérience pour les langages et les frameworks .NET, les applications Windows et les bibliothèques utilisant Visual C++ et les applications mobiles Xamarin.
Les développeurs qui se retrouvent à faire des mélanges et des associations (par exemple, travaillant sur une API Web .NET Core devant être appelée à partir d'une application client Flutter) peuvent soit utiliser deux EDI différents, soit même faire tout leur travail dans VS Code, qui prend en charge C# et .NET, pour une meilleure prise en charge d'autres langages et plateformes.
Notons que Visual Studio 2019 16.7 et Visual Studio 2019 pour Mac 8.7 sont également récemment publiés. Ces deux produits partagent certaines technologies, mais restent très différents l'un de l'autre, contrairement à VS Code, qui fonctionne de la même manière sur Mac et Windows.
Nouvelle expérience utilisateur Git dans Visual Studio
Du côté de Windows, Visual Studio bénéficie d'une intégration de Git.
Améliorations de la résolution des conflits de fusion (merge)
Microsoft note que « Lorsque nous avons parlé aux clients des problèmes auxquels ils sont confrontés lorsqu'ils travaillent avec le contrôle de code source, nous avons constamment entendu parler de la frustration liée aux conflits de fusion. Lorsque vous obtenez un conflit de fusion, cela interrompt votre flux de codage et vous oblige à changer de contexte. Nous avons également réalisé que nous avions besoin d'une meilleure messagerie pour indiquer que vous aviez rencontré un conflit lors d'une opération Pull Git. Pour résoudre ces problèmes, la fenêtre de l'outil Git Changes (modifications Git) répertorie désormais clairement les modifications non fusionnées et affiche un message d'état indiquant que la résolution des conflits est en cours. »
Fusion en cours avec conflits (modifications non fusionnées)
De plus, lors de ses études sur les utilisateurs, en parcourant différents flux de travail, Microsoft a remarqué que tous les développeurs n'ont pas toujours la fenêtre Modifications Git ouverte. Si ce n'est pas le cas, vous ne verrez que le fichier avec des indicateurs de conflit et vous pourrez essayer de résoudre manuellement les conflits en ligne. Microsoft est conscient du fait que cela peut être pénible, en particulier pour les fichiers volumineux avec de nombreux conflits. Aussi, l'éditeur a ajouté une barre d'informations dorée au niveau du document pour vous avertir lorsque le fichier contient des conflits, vous invitant à ouvrir l'éditeur de fusion.
Barre d'informations dorée avec lien pour ouvrir l'éditeur de fusion
L'éditeur de fusion à trois voies a subi une véritable refonte basée sur les commentaires des clients. Microsoft a changé la terminologie TFVC héritée que sont Source et Target en Incoming et Current, en mettant fortement l'accent sur le nom de la branche. C'était un point de confusion constant. Incoming et Current disposent chacun d'une nouvelle case à cocher pour prendre toutes les modifications de l'une ou l'autre version en un seul clic.
L'éditeur de fusion facilite désormais l'analyse des conflits en alignant mieux les lignes correspondantes, en affichant les différences au niveau des mots et en rendant visibles les différents espaces. Microsoft a également réduit l'encombrement autour de la marge de zoom, de la marge de santé et de la barre d'outils. De plus, vous pouvez désactiver les différences non conflictuelles pour vous concentrer uniquement sur les conflits. Et si vous n’avez pas besoin de la puissance de l’éditeur de fusion, vous pouvez les résoudre maintenant au niveau du fichier avec une fusion bidirectionnelle.
Nouvelle fenêtre de référentiel Git
« Après avoir lancé la première version de la fenêtre de l'outil Git Changes, nous voulions nous assurer que nous intégrions les commentaires et suggestions de la communauté au fur et à mesure que nous répétions l'expérience. Notre recherche nous a informés que la plupart d'entre vous effectuent des opérations Git spécifiques lors du codage qui ont du sens dans la fenêtre Git Changes à côté de votre éditeur. Mais d'autres fois, vous avez besoin d'une expérience plein écran pour vous concentrer sur une activité Git dédiée. Ainsi, dans la version 16.7 Preview 3, nous avons construit la fenêtre Git Repository, la future maison pour toutes vos activités liées à Git. Elle est désormais disponible dans Visual Studio Preview, avec quelques fonctionnalités initiales.
« Tout d'abord, nous avons créé une arborescence de branches interactive dans laquelle vous pouvez gérer toutes les branches du référentiel dans une seule vue. De là, vous pouvez utiliser le menu contextuel pour effectuer des opérations Fetch, Pull et Push sur des branches sans avoir à effectuer de vérifications. Vous pouvez également créer une nouvelle branche directement à partir de n'importe quelle branche locale ou distante. Nous avons également ajouté les commandes pour Reset, Cherry-Pick et Unset Upstream Branch, qui n'étaient pas disponibles dans le sélecteur de branche Git Changes.
« En plus d'utiliser le menu contextuel puissant, vous pouvez également double-cliquer sur une branche dans la liste pour afficher son historique dans le volet droit. En haut du graphique, vous pouvez voir les commits entrants après avoir effectué une opération Fetch. Bientôt, vous pourrez également voir les commits sortants. Un double-clic sur un commit ouvrira ses métadonnées dans le volet Détails du commit. Vous pouvez accéder à cette fenêtre via la commande Manage Branches dans le menu Git ainsi que via le bouton Unpushed Commits dans la barre d'état. »
Mises à jour supplémentaires
- Créer un référentiel : Vous pouvez désormais créer un nouveau référentiel sur GitHub, Azure Repos ou n'importe quelle URL distante à tout moment, même à partir d'un dossier vide. Visual Studio vous aidera à initialiser le nouveau référentiel localement et à le pousser vers votre compte GitHub distant. Utilisez l'option distante existante pour transférer votre code vers un dépôt Git hébergé que vous avez déjà créé.
- Paramètres Git : Il est extrêmement important de pouvoir personnaliser et personnaliser vos paramètres Git au niveau du référentiel ainsi qu’au niveau global. Microsoft a déjà effectué la migration de tous vos paramètres vers Outils - Options - Contrôle de la source.
- Push simplifié : Dans le cadre d'une meilleure gestion des erreurs, Microsoft a amélioré l'expérience Push de sorte que si vous Poussez les modifications avant d'effectuer un Pull des modifications en amont, vous obtenez des options pour Forcer le Push ou effectuer un Pull and Push. Pour forcer le Push, vous devez d'abord activer «push –force» dans vos paramètres Git.
- Fenêtre Modifications Git : Microsoft a amélioré la nouvelle fenêtre Modifications Git que l'éditeur a présenté pour la première fois dans la version 16.6. Microsoft a amélioré le sélecteur de branches en ajoutant des icônes spéciales pour différencier plus facilement les branches distantes et les branches locales.
- Work Items : Et enfin, lorsque la nouvelle expérience Git est activée, les Work Items et les builds sont toujours accessibles à partir de Team Explorer.
Télécharger l'extension Angular Language Service pour Visual Studio
Sources : Angular Language Service, Microsoft (Angular Language Service), Microsoft (nouvelle expérience de Git dans Visual Studio)