随着 Visual Studio 最新版本的发布,微软推出了一款新的 Razor 编辑器,用于使用 MVC、Razor Pages 和 Blazor 进行本地开发。该工具目前还处于实验状态。 Razor 是一种基于 HTML 和 C# 的模板语言,可以用来为 .NET Web 应用程序创建动态内容。它不是一种编程语言,而是服务器端的标记语言。 目前,Visual Studio 能够在同一 Razor 文件中可同时支持针对 HTML、CSS、JavaScript、C# 和 Razor 特定语法的 IntelliSense、补全及诊断。 为了在 Razor 文件中同时启用对所有这些语言的编辑器支持,Visual Studio 需要做一些繁琐的工作:解析 Razor 文档以确定其组成部分,然后将每个部分投影到特定语言的缓冲区中,即投影缓冲区。编辑 Razor 文档时,Visual Studio 看到的是到每个投影缓冲区的小窗口集合,以组成一个完整的文档。然后,每种语言服务都将单独处理每个缓冲区的编辑体验。 但这种方案作用有限,也不适用于远程编辑。为了给 Razor 编辑提供更广泛的支持,微软推出了新的 Razor 编辑器。它通过 语言服务器协议(LSP)实现了编辑器功能,如自动补全、转到定义等。然后,特定于 IDE 的 Razor 扩展将与 Razor 语言服务器和其他用于 HTML&C# 的语言服务器进行协调。 微软表示当前的开发重点是使新的基于 LSP 的 Razor 编辑器在功能上与现有的 Visual Studio Razor 编辑体验相同。接下来计划添加对功能还有:对 JavaScript 和 CSS IntelliSense 的支持、HTML 中的 URL 选择器支持、复杂的 C# 补全,以及从 C# 到 Razor 的定义/实现等等。 要启用新的实验性 Razor 编辑器,应先安装最新的 Visual Studio preview 版本,转到 工具>选项>环境>预览功能,然后选择启用实验性 Razor 编辑器选项: |