技术速递|增强 Razor 生产力的新功能!

news/2025/2/28 22:36:39/

作者:Leslie Richardson

排版:Alan Wang

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

提取为组件

提取为组件是 Visual Studio 17.12 中提供的一项全新重构功能,它可以自动化创建新的 Razor/Blazor 组件的过程。您无需手动创建新文件并复制/粘贴代码,只需选中想要提取的代码(或标签),然后按下(Ctrl + .)调出灯泡重构选项,选择此功能即可完成提取操作。该功能让创建可复用组件变得更加简单,有助于保持代码整洁,提高可维护性。
在这里插入图片描述
在这里插入图片描述
在该功能的首个版本中,提取为组件功能主要支持基础的、以 HTML 为主的代码提取场景。不过,我们计划在未来添加更多改进和支持更高级的场景(例如更一致地处理涉及变量依赖、C# 代码、参数等的提取)。

Roslyn C# 分词器

C# 分词器/词法分析器的更新显著提升了 Razor 对 C# 代码的处理能力。许多用户曾对无法在 Razor 文件中使用原始字符串字面量和逐字插值字符串表示不满,而新的 Roslyn C# 词法分析器解决了这一问题!除了对这些字符串格式的支持外,词法分析器还增加了对二进制字面量的支持,并改进了对 C# 预处理器指令的处理,确保它们遵循 C# 的规则。最后,新的词法分析器还将更容易支持未来的 C# 新语言特性。
在这里插入图片描述
在这里插入图片描述
这个新的词法分析器在 .NET 10 中默认启用,但在 .NET 9 中也可用于 Visual Studio(17.13)和 Visual Studio Code。如果您想立即启用 C# 分词器,请勾选 IDE 中的为 Razor 文件使用 C# 分词器选项,该选项位于工具 > 选项 > 预览功能,并在您的 .csprojdirectory.props 文件中的属性组内添加以下内容:

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

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

总结

这两项更新——提取为组件和 C# 分词器——将帮助提升您的 Razor 开发效率。通过使用这些新功能,您可以确保代码更加清晰、获得更好的语言支持,并提高整体开发效率。当然,我们仍在不断改进!如果您有任何反馈,欢迎在 Razor GitHub 代码库 或 开发者社区(Developer Community)提交问题,或者参与此调查分享您对提取为组件功能的意见!最后,如果您希望了解我们的未来规划以及我们如何解决您的问题,欢迎观看我们在2月18日 举办的 .NET 社区直播!


http://www.ppmy.cn/news/1575611.html

相关文章

React Server Components引擎的混合渲染架构:突破传统SPA的性能边际

引言&#xff1a;Web应用的性能困境 沃尔玛电商平台采用React Server Components (RSC)后&#xff0c;首屏渲染速度从2.4秒降至340ms&#xff0c;交互准备好时间(TTI)优化83%。在Turbopack加持下&#xff0c;冷启动构建速度比Webpack快18.7倍&#xff0c;内存占用降低32%。其创…

Unity 列表滚动到指定位置

使用场景 策划提出需求&#xff1a;当玩家打开领奖界面时&#xff0c;奖励列表需要自动滑动到可以领奖的奖励栏处或者正在进行的任务栏处。 思路 1、将Content设置好对齐方式和锚点 子物体的预制体和Content&#xff1a;pivot轴心点设置为(0,1),并且设置为左上角对齐。 2、主…

Idea编译项目很久之后,提示 Error:java:OutOfMemoryError:insufficient memory

项目挺老的的了&#xff0c;平常项目启动&#xff0c;也要挺久的&#xff0c;但是最起码能启动成功&#xff0c;今天下午的时候&#xff0c;项目启动了十几分&#xff0c;一直在转圈&#xff0c;后面控制台输出了这一行异常 Error:java:OutOfMemoryError:insufficient memory …

Unity XR-XR Interaction Toolkit开发使用方法(十一)组件介绍(XR Interactable)

目录 一、插件介绍 二、主要组件 XR Interaction Manager XR Controller XR Interactor XR Direct Interactor XR Ray Interactor XR Socket Interactor XR Gaze Interactor XR Interaction Group 三、XR Interactable 1、组件介绍 2、核心功能与特点 交互类型支…

DeepSeek-R1-Zero:基于基础模型的强化学习

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列四DeepSeek大模型技术系列四》DeepSeek-…

机器学习数学基础:38.复相关系数

一、概念深度解读 复相关系数反映的是几个要素与某一个要素之间的复相关程度&#xff0c;其值介于0到1之间。可以将其类比为一把“尺子”&#xff0c;用来衡量多个因素作为一个整体&#xff0c;对某一特定结果的影响紧密程度。 完全相关情况&#xff1a;当复相关系数为1时&am…

阿里云的 ECS(Elastic Compute Service)实例

阿里云的 ECS&#xff08;Elastic Compute Service&#xff09;实例 是一种高可扩展、灵活的计算服务&#xff0c;允许用户在云上运行虚拟机。通过ECS&#xff0c;用户可以在阿里云的云基础设施上启动、配置和管理虚拟服务器&#xff08;实例&#xff09;&#xff0c;这些实例具…

开发 picgo-plugin-huawei 插件,解决华为云社区外链限制问题

开发 picgo-plugin-huawei 插件&#xff0c;解决华为云社区外链限制问题 在技术博客平台中&#xff0c;外链的使用常常受到限制&#xff0c;这给我们的写作和内容展示带来了一定的不便。为了应对这一问题&#xff0c;我开发了 picgo-plugin-huawei 插件&#xff0c;它能够有效…