VS代码生成工具ReSharper V2022.2新功能亮点——更好地支持C#11

ReSharper V2022.2 包括对 C# 11 功能的支持,例如必需的成员、检查的用户定义的运算符、原始字符串和列表模式。

支持C# 11

此版本支持 C# 11 预览版中的多项功能,包括必需的成员、checked用户定义的运算符、原始字符串和列表模式。

VS代码生成工具ReSharper
所需成员

在 C# 11 中class,struct、 和recordtypes 获得了声明所需成员列表的能力。这是所有被认为是必需的属性和字段的列表,并且必须在类型实例的初始化期间进行初始化。类型会自动从其基本类型继承这些列表,从而提供无缝的体验,消除样板、重复的代码。

除了知道requireda 、 或 type 中成员的关键字 class之外struct,recordReSharper 还为关键字提供了额外的支持required:

  • 代码完成中有一个required关键字。
  • 大多数编译器错误和警告都是可用的。
  • required修改器已添加到页面上 的修改器顺序ReSharper | Options | Code Editing | C# | Syntax Style中。

VS代码生成工具ReSharper

添加了一个新的Add initializer for required members快速修复您已创建类型对象但尚未初始化成员的情况。它会自动为对象生成所有缺少的“必需”成员——只需用有意义的数据填充成员的值。

VS代码生成工具ReSharper
检查用户定义的运算符

用户定义的运算符帮助开发人员创建对算术溢出是一个有效概念的类型进行操作的用户定义的运算符。ReSharper 显示所有编译器错误和警告。为了完全支持 checked用户定义的运算符,ReSharper 提供了更多检查和上下文操作。

VS代码生成工具ReSharper

更新了Unchecked/checked 上下文是冗余checked检查,以便在此上下文中使用运算符时将其 考虑在内。

VS代码生成工具ReSharper

如果有一组用户定义的运算符并且其中一些已经有一个 checked 版本,ReSharper 将帮助将checked运算符传播到整个集合。名为 The operator 的新检查没有匹配的checked运算符,而其他运算符 会通知哪些运算符还没有选中的运算符,并建议快速修复以checked自动生成版本。

VS代码生成工具ReSharper

如果还没有checked在代码库中使用运算符,但想开始添加它们,一个名为创建匹配检查运算符的新上下文操作 将非常方便。它适用于每个用户定义的运算符,并一键从Alt+Enter 菜单生成运算符的选中版本。

VS代码生成工具ReSharper
原始字符串

C# 11 通过引入“原始”字符串的概念改进了将其他语言或文本格式嵌入到 C# 代码中的能力。

ReSharper 具有基本的“原始”字符串支持,包括编译器错误以及”””语法的正确解析和颜色突出显示、双引号对以及插值字符串({{…}}语法)内的占位符。

VS代码生成工具ReSharper
列出模式

C# 11 继续扩展该语言中可用的模式集。这一次,C# 允许通过类似列表的结构进行匹配,例如数组、字符串和类似List集合。

ReSharper 2022.2 完全支持具有错误检查、代码完成和代码分析的列表模式。我们仍在努力添加代码检查,以建议在现有代码中使用列表模式和其他重构操作。

VS代码生成工具ReSharper
更多 C# 11 功能

ReSharper 2022.2 完全支持新的无符号右移运算符 ( >>>),包括对用户定义的运算符 >>>重载的支持。

ReSharper 2022.2 支持简化使用Span值来替换字符串实例,因为在 C# 11 中,可以直接将字符串常量与 type Span<char>和ReadOnlySpan<char>.

VS代码生成工具ReSharper
  • 针对不应为空的表达式的空检查的警告分为两类。第一个警告是针对从不为空的表达式,第二个警告是针对存在实际运行时检查 null 的表达式。
  • 添加了一个新设置,用于切换到 运行时强制非空警告模式。可从Alt+Enter菜单 中的配置项组访问基于注释的警告。
  • [MemberNotNull]和[MemberNotNullWhen]注释现在在不使用可为空引用类型的项目中得到支持。
  • VS代码生成工具ReSharper
端点

端点现在支持适用于 ASP.NET Core 6 最小 API 和基于约定的路由。

VS代码生成工具ReSharper
Razor 和 Blazor
  • 添加了对[EditorRequired].NET 6 中新属性的支持。
  • 已经在 Razor 语法中实现了对 C# 本地函数的支持。
  • 改进了.razor带有 Blazor 组件的文件中的代码清理。它不再删除所有@using声明。
  • 通过对 Blazor 组件的引用修复了 Razor 代码中的If To Switch和Invert If上下文操作。
  • ReSharper 现在为 Blazor 注入的属性使用正确的命名样式。
  • Comment with Line Comment操作 现在仅注释 Razor 代码部分。
  • 在 Razor 代码中添加了通过继承层次结构的导航。

VS代码生成工具ReSharper
Razor 和 Blazor

重新组织了Alt+Enter 菜单中与代码清理和格式化相关的所有项目。Format selection、Cleanup selection和Apply 语法样式被组合成一个Reformat 和 Cleanup项, 以提供一个入口点。

VS代码生成工具ReSharper

除了这些更改之外,语法样式设置现在可在“配置代码样式”和“自动检测代码样式设置” 操作中使用。预览代码样式面板也显示了语法样式的变化。

VS代码生成工具ReSharper
虚幻引擎单元测试

现在 支持虚幻引擎测试框架 。ReSharper C++ 发现 Unreal Engine 单元测试,并在编辑器中的每个测试旁边添加相应的操作指示器,以运行或调试测试或整个测试套件。在单元测试会话 窗口中,可以查看测试结果,并重新运行失败的、所有的或特定的测试。

VS代码生成工具ReSharper
更好的 支持C++

ReSharper最新版本 C++ 现在更擅长处理隐式构造函数调用,允许在更多情况下查找用法并导航到调用的构造函数,包括以下情况:

解决方案范围的分析优化

在此版本中,极大地优化了 ReSharper 的内存使用, 开启 了解决方案范围分析模式,无论是在内存流量(内存分配数量)还是在内存消耗方面。

解决方案范围的分析引擎使用内存来存储解决方案中的问题列表并存储类型/成员使用信息以执行解决方案范围的使用报告(代码检查,如“从不使用公共成员”)。使用数据是“热的”,这意味着它需要在您编辑代码时不断更新,并且不能卸载到磁盘上。如果您的解决方案包含大量类型和类型成员,这可能会消耗大量内存。我们查看了存储在内存中的数据,发现了允许我们对数据进行重复数据删除/规范化的模式。我们还利用专门的集合类型来进一步减少工作集。这些优化使内存消耗提高了 5-10 倍,速度更快解决方案范围的分析加载。

VS代码生成工具ReSharper

ReSharper| 下载试用

以上就是ReSharper V2022.1更新的关于C# 11的相关内容,想要了解ReSharper价格可进入官网咨询在线客服。

ReSharperVS代码生成工具。实质上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和构建脚本。 使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月2日
下一篇 2022年7月2日

相关推荐

发表回复

登录后才能评论