微軟為Visual Studio 推出新的Razor 編輯器
隨著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 編輯器選項: