Nouvelles
Révisions du serveur de langage C # VS 2022 Razor Editor pour ASP.NET Core
Microsoft vante de nouvelles fonctionnalités de développement Web ASP.NET Core dans Visual Studio 2022 grâce à un nouvel éditeur Razor alimenté par un serveur de langage Razor.
Il exploite le Language Server Protocol (LSP), qui définit le fonctionnement des serveurs spécifiques à une langue avec un IDE pour activer des fonctionnalités telles que la complétion automatique de code, accéder à la définition, rechercher toutes les références, la documentation en survol, etc. Le nouvel éditeur Razor peut être utilisé pour le développement local ASP.NET Core avec MVC, Razor Pages et Blazor.
Microsoft a en fait ajouté l’éditeur Razor alors expérimental à Visual Studio 2019 16.7 à l’été 2020.
“Razor est un langage de modèles basé sur HTML et C # utilisé pour définir la logique de rendu dynamique pour les applications Web .NET basées sur MVC, Razor Pages et Blazor”, a déclaré Daniel Roth, responsable principal du programme pour ASP.NET, à l’époque dans un article de blog annonçant le nouvel éditeur Razor. Dans les applications MVC et Razor Pages, vous utilisez Razor pour définir la logique de rendu de vos vues et de vos pages à l’aide de fichiers .cshtml. Dans Blazor, vous utilisez Razor pour créer des composants d’interface utilisateur réutilisables dans des fichiers .razor. Razor est un élément essentiel de l’expérience de création applications Web avec .NET.”
Roth a ajouté que le serveur expérimental Razor Language Server a amélioré la manière traditionnelle et compliquée dont Visual Studio gérait la prise en charge de plusieurs langues dans un seul fichier Razor, qui, selon lui, reposait sur une “gymnastique délicate” basée sur des tampons de projection.
La semaine dernière, Mika Dumont de Microsoft a officiellement présenté le nouvel éditeur Razor dans VS 2022, qui a fait ses débuts le mois dernier.
“Nous travaillons depuis un certain temps sur un nouvel éditeur Razor pour les projets ASP.NET Core basé sur un protocole de serveur de langage (LSP)”, a déclaré le responsable de programme de l’équipe .NET Productivity dans un 1er décembre. 1 poste. “Le Language Server Protocol (LSP) est un protocole open source qui définit une manière standard pour un éditeur ou un IDE d’activer des fonctionnalités. Le modèle LSP nous a permis d’ajouter de nouvelles fonctionnalités importantes, apportant de nombreuses autres fonctionnalités d’édition C# à Razor et permettant d’autres nouvelles améliorations de productivité spécifiques à Razor à un rythme accéléré.”
Ces fonctionnalités d’édition (certaines nouvelles et spécifiques à Razor) incluent :
- Soutien Ajouter les utilisations manquantesqui, selon Dumont, est la refactorisation la plus utilisée
- Extraire le bloc pour coder derrière support, permettant aux développeurs d’extraire un bloc de code entier dans un fichier de code derrière pour ceux qui veulent suivre ce modèle
- Qualifier entièrement le composant Support
- Créer un composant Support
- Aller à la définition support : “Aller à la définition sur les composants vous aide à naviguer rapidement dans les fichiers pour mieux comprendre votre code. Par exemple, appuyer sur F12 sur une balise de composant vous permettra désormais d’accéder directement au code du composant.”
- Soutien diagnostics F5 utiles lors de l’utilisation du rechargement à chaud
En plus des fonctionnalités fournies en suivant le modèle LSP, d’autres améliorations de l’éditeur Razor décrites par Dumont incluent :
- Couleurs par défaut ont été mis à jour dans le nouvel éditeur Razor. Une différence majeure dans ce domaine est la suppression de la surbrillance d’arrière-plan du code qui était présente dans les versions précédentes. Cette mise en évidence a rendu les sélections difficiles à distinguer et a ajouté un encombrement visuel pour de nombreux développeurs.
[Click on image for larger view.] Nouvelles couleurs (source : Microsoft). - Mise en page est un domaine actif car davantage de styles de code, de refactorisation et de capacités de complétion sont ajoutés régulièrement. Le nouvel éditeur fournit une mise en forme améliorée qui est mieux à même de suivre ces changements, aidant ainsi le code à rester visuellement cohérent.
- Le nouvel éditeur Razor prend en charge la dernières fonctionnalités du compilateur et peaufine les interactions syntaxiques existantes. Complétions de syntaxe Razor plus intelligentes, telles que
la saisie semi-automatique et la saisie semi-automatique sont désormais prises en charge. Le nouvel éditeur modifie également le flux des diagnostics pour garantir que seuls les diagnostics les plus importants sont affichés et que les diagnostics générés par le compilateur sont affichés dans leur fidélité prévue. - Razor prend désormais entièrement en charge Visual Studio Live Share. Live Share est un outil utile pour collaborer à distance avec d’autres développeurs qui permet le partage de code depuis l’IDE. Ce contexte partagé est une partie importante du cycle quotidien de co-programmation pour de nombreux développeurs.
Cependant, même avec toutes ces fonctionnalités, il reste encore du travail à faire pour mettre le nouvel éditeur Razor à niveau avec l’éditeur précédent, travail compliqué par un bogue et un arriéré de demandes de fonctionnalités.
“Il reste encore quelques lacunes fonctionnelles à combler, et nous prévoyons de combler ces lacunes dans les prochaines versions”, a déclaré Dumont, qui a fourni cette liste de limitations connues sur lesquelles l’équipe travaille :
- Prise en charge des extraits de code (extension avec Tab)
- Raccourci wrap div Maj+Alt+W
- Ctrl+Clic Aller à la définition
- #pliage du code régional
- Formatage JavaScript intégré
- Prise en charge du glisser-déposer pour les fichiers HTML, CSS et JavaScript
- Améliorations des performances et de la fiabilité
- Prise en charge du rechargement à chaud pour les projets Blazor Web Assembly lors du débogage
Lorsqu’on lui a demandé si la fonctionnalité LSP serait également ajoutée à OmniSharp, qui fournit le même type de langage “intelligent” C# dans Visual Studio Code via une extension, Dumont a répondu : “À l’heure actuelle, nous travaillons à garantir où la plupart de nos .NET Les développeurs sont dans Visual Studio ont une grande expérience. Avoir une expérience fiable dans VS Code pour le développement C# est également important pour nous et nous cherchons des moyens d’améliorer la fiabilité avec l’extension VS Code et OmniSharp.
Visual Studio 2022 a fait ses débuts en tant que numéro de version v17.0. Pour la prochaine mise à jour v17.1, une feuille de route de l’éditeur Razor montre ce qui est en cours, y compris la résolution d’IntelliSense lent dans les gros fichiers Razor et “‘Disco Colors’ en C # avec LSP”, quoi que cela signifie (ce journaliste n’avait pas l’autorisation de voir l’article).
A propos de l’auteur
David Ramel est éditeur et rédacteur pour Converge360.
.