隨著 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 編輯器選項:
來源:開源中國