2022.1 侧重于质量,具有多项改进和错误修正,特别关注 Blazor 开发和 C# 支持。
我们继续改进对 C# 10 的支持,特别是 Global Using。 我们已经实现了两个新重构,它们也可用作上下文操作。
Extract Global Using(提取 Global Using)可以帮助您在项目中引入 global using 的概念。 在常规 using 指令上调用后,ReSharper 会建议将其提取到指定 GlobalUsings.cs 文件中(如果项目中还没有这样的文件,它将被创建)。 不再需要的常规 using 将从项目的文件中移除。
如果您决定将 global using 重构为常规 using,Inline Global Using(内联 Global Using)重构也可以提供帮助。 在 global using 上调用时,它会将其从 GlobalUsings.cs 中移除,并将相应的 using 语句添加到项目中需要的文件中。
Find Usages(查找用法)和扩展方法的代码分析中支持 global using 功能。
我们已经研究了即将到来的 C# 11,并支持 通用属性。
[MemberNotNull] 和 [MemberNotNullWhen] 注解。
我们的端点支持现在适用于 ASP.NET Core 6 最小 API 和基于约定的路由。 包括导航、代码分析和代码补全。
以下是我们为 Razor 和 Blazor 提供的部分最值得注意的功能和修正:
[EditorRequired] 特性的支持。 如果您想使用 Blazor 组件而不指定所需形参,也可以使用相应的检查和快速修复。 .razor 文件中的代码清理。 它不再移除所有 @using 声明。
我们重新组织了 Alt+Enter 菜单中与 Code Cleanup(代码清理)和 Formatting(格式设置)相关的所有条目。 Format selection(设置选区格式)、Cleanup selection(清理选区)和 Apply syntax style(应用语法样式)合并为一个 Reformat and Cleanup(重新格式化和清理)条目,提供单个入口点。
除了这些更改之外,语法样式设置现已添加至 Configure code style(配置代码样式)和 Autodetect code style settings(自动检测代码样式设置)操作。 Preview code style(预览代码样式)面板也会显示语法样式的更改。
现在支持 虚幻引擎测试框架。 ReSharper C++ 能够发现 Unreal Engine 单元测试,并在编辑器中的每个测试旁添加相应的操作指示器,用于运行或调试测试或整个测试套件。 在 Unit Test Sessions(单元测试会话)窗口中,您可以检查测试结果,重新运行失败测试、所有测试或特定测试。
ReSharper C++ 现在更擅长处理隐式构造函数调用,允许在更多情况下查找用法并导航到调用的构造函数,包括:
make_unique/make_shared) 和 Unreal 特定的 (MakeShared/MakeUnique) 智能指针创建函数。 emplace 容器方法。static_cast 和 C 样式转换表达式。 如果使用了不正确的实参调用类 emplace 函数,ReSharper C++ 2022.1 还会显示重载警告。
InspectCode 工具可以生成与 Static Analysis Results Interchange Format(SARIF,静态分析结果交换格式)兼容的输出文件。
Command Line Tools 现在支持 Alpine Linux。
System.Private.CoreLib。 XML 文档的路径现在会显示在反编译文件的标题中。 [TypeForwardedTo] 特性)。 Locate in Metadata(在元数据中定位)操作也适用于转发类型、程序集和模块引用以及资源。
dotTrace 将在 Windows(.NET Core、.NET 5+)以及 macOS 和 Linux(.NET Core 3.0+、.NET 5+)上支持来自 Microsoft.Data.SqlClient 提供程序的 SQL Server 事件。
现在,将特殊图标拖到应用程序窗口上,即可将分析器附加到正在运行的应用程序。
您现在可以使用注释从覆盖率分析中排除某些行或代码块。 可用选项:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
要使某一选项起作用,必须引用 JetBrains.dotCover.MSBuild NuGet 软件包。 这是一个仅用于开发的依赖项,不会作为运行时依赖项添加到项目中。
.sqlproj 文件中妨碍 ReSharper 功能的问题。