APP下载

Visual Studio加入全新Razor编辑器

消息来源:baojiabao.com 作者: 发布时间:2024-04-19

报价宝综合消息Visual Studio加入全新Razor编辑器

微软将在Visual Studio 2019 16.7版本中加入实验性Razor编辑器,让开发者使用MVC、Razor Pages和Blazor进行本地端开发,目前开发者已经可以下载Visual Studio 2019 16.7第4预览版,使用全新Razor编辑器,获得自动完成与前往定义等方便的程式开发功能。

Razor是一种基于HTML和C#的模板语言,可用来创建动态网页页面,其以MVC、Razor Pages和Blazor为基础,定义.NET网页应用程序的动态渲染逻辑。在MVC和Razor Pages应用程序中,开发者使用Razor,便能以.cshtml档案来定义渲染逻辑,而在Blazor中,则可以使用.razor档案中可重复使用的UI元件。Blazor是一个由微软开发的免费开源网页应用程序框架。

微软提到,Razor是.NET网页应用程序开发中,很重要的一部分,因此微软一直在Visual Studio中,提供编辑Razor档案的功能,开发者可编辑同一个档案里的HTML、CSS、JavaScript、C#和Razor特殊语法,并使用IntelliSense、完成和诊断等功能。

要在同一个档案支援这么多种语法并不容易,因为Razor档案需要同时支援这些语言的编辑器,Visual Studio会解析Razor文件,并且决定其组成的部分,并将每一个部分投影到特定的语言缓冲区,微软称其为投影缓冲区。在编辑Razor文件的时候,Visual Studio呈现的是投影缓冲区的集合,每种语言服务会独立处理这些投影缓冲区的编辑体验。

但是这种方式有一些缺点,除了Visual Studio与Visual Studio for Mac之外皆不适用,在Visual Studio LiveShare或Visual Studio Codespaces的远端程式开发仍有问题,也无法用于不支援投影缓冲区的Visual Studio Code。由于Razor编辑器缺乏中央协调程式,因此要在编辑器中添加新功能非常困难。

为了解决这个困境,更全面的支援Razor编辑,微软利用语言服务器协定(Language Server Protocol,LSP)开发新的Razor语言服务器,并实作自动完成、前往定义等功能,而中央调度的角色,则由IDE的Razor扩充套件担任,在Razor语言服务器,以及HTML与C#语言服务器间调度工作。

这个新架构让Visual Studio Code也能够良好地支援Razor编辑,现在C#扩充套件也支援Razor,可以使用Razor语言服务器,而且Visual Studio Codespaces和Visual Studio LiveShare也都能支援Razor编辑。

开发者可以下载最新的Visual Studio 2019预览版,并在工具选项中启用实验性Razor编辑器,只要重新启动Visual Studio,开发者就能使用新的Razor编辑器,处理.cshtml和.razor等Razor档案。

2020-07-17 15:49:00

相关文章