微软为VisualStudio推出新的Razor编辑器

  随着VisualStudio最新版本的发布,微软推出了一款新的Razor编辑器,用于使用MVC、RazorPages和Blazor进行本地开发。该工具目前还处于实验状态。

  Razor是一种基于HTML和C#的模板语言,可以用来为.NETWeb应用程序创建动态内容。它不是一种编程语言,而是服务器端的标记语言。

  目前,VisualStudio能够在同一Razor文件中可同时支持针对HTML、CSS、JavaScript、C#和Razor特定语法的IntelliSense、补全及诊断。

  为了在Razor文件中同时启用对所有这些语言的编辑器支持,VisualStudio需要做一些繁琐的工作:解析Razor文档以确定其组成部分,然后将每个部分投影到特定语言的缓冲区中,即投影缓冲区。编辑Razor文档时,VisualStudio看到的是到每个投影缓冲区的小窗口集合,以组成一个完整的文档。然后,每种语言服务都将独立处理这些单独的投影缓冲区中每个缓冲区的编辑体验。

  但这种方案作用有限,也不适用于远程编辑。为了给Razor编辑提供更广泛的支持,微软推出了新的Razor编辑器。它通过语言服务器协议(LSP)实现了编辑器功能,如自动补全、转到定义等。然后,特定于IDE的Razor扩展将与Razor语言服务器和其他用于HTML&C#的语言服务器进行协调。

  微软表示当前的开发重点是使新的基于LSP的Razor编辑器在功能上与现有的VisualStudioRazor编辑体验相同。接下来计划添加对功能还有:对JavaScript和CSSIntelliSense的支持、HTML中的URL选择器支持、复杂的C#补全,以及从C#到Razor的定义/实现等等。

  要启用新的实验性Razor编辑器,应先安装最新的VisualStudiopreview版本,转到工具>选项>环境>预览功能,然后选择启用实验性Razor编辑器选项: