February 20th, 2025

增强 Razor 生产力的新功能

Eddie Chen
Partner Technical Advisor

本文翻译自Leslie RichardsonNew Features for Enhanced Razor Productivity!

如果您现在正在使用 Razor 构建 Web 应用,我们为您带来了一些令人兴奋的新功能,无论您使用的是 Visual Studio 还是 Visual Studio Code,您都会爱上这些新功能!现在,您可以使用名为“将元素提取到新组件”的重构功能,以及全新的基于 Roslyn 的 C# 分词器,这些功能旨在提升您在 Razor 文件中的开发效率。让我们一起来看看吧! 

将元素提取到新组件 

将元素提取到新组件是 Visual Studio 17.12 中提供的一项全新的重构功能,它可以自动化创建新 Razor/Blazor 组件的过程。您无需手动创建新文件并复制/粘贴代码,只需选中想要提取的代码(或标签),然后点击灯泡图标并选择将元素提取到新组件即可完成提取操作。该功能让创建可复用组件变得更加简单,有助于保持代码整洁,提高可维护性。 

Image Extract To Component Weather

Image Extract To Component Weather2

在该功能的首个版本中,提取为组件功能主要支持基础的、以 HTML 为主的代码提取场景。不过,我们计划在未来添加更多改进和支持更高级的场景例如更一致地处理涉及变量依赖、C# 代码、参数等的提取)。 

Roslyn C# 分词器 

C# 分词器/词法分析器的更新显著提升了 Razor 对 C# 代码的处理能力。许多用户曾对无法在 Razor 文件中使用原始字符串文本和逐字插值字符串表示失望,而新的 Roslyn C# 词法分析器解决了这一问题!除了对这些字符串格式的支持外,词法分析器还增加了对二进制文本的支持,并改进了对 C# 预处理器指令的处理,确保它们遵循 C# 的规则。最后,新的词法分析器还将更容易支持未来的 C# 新语言特性。 

Image roslyn

Image roslyn tokenizer string output

这个新的词法分析器从 .NET 10开始会默认启用,但在 .NET 9 中,也可以在 Visual Studio(17.13)和 Visual Studio Code使用。如果您想立即启用 C# 分词器,请勾选 IDE 中的为 Razor 文件使用 C# 分词器选项,该选项位于工具 > 选项 > 预览功能,并在您的 .csprojdirectory.props 文件中的属性组内添加以下内容: 

<Features>use-roslyn-tokenizer;$(Features)</Features> 

Image roslyn tokenizer csproj line

新的词法分析器目前带来了一些重大变化,特别是在预处理指令方面。因此,我们鼓励您在Razor GitHub 代码库中反馈遇到的任何相关问题。 

总结 

提取为组件和 C# 分词器这两项更新将帮助提升您的 Razor 开发效率。通过使用这些新功能,您可以确保代码更加清晰、获得更好的语言支持,并提高整体开发效率。当然,我们仍在不断改进!如果您有任何反馈,欢迎在 Razor GitHub 代码库开发者社区 (Developer Community) 提交问题,或者参与此调查分享您对提取为组件功能的意见!

Author

Eddie Chen
Partner Technical Advisor

0 comments