2022.1 侧重于质量,具有多项改进和错误修正,特别关注 Blazor 开发和 C# 支持。
可免费试用 30 天
We continue to improve support for C# 10, particularly global usings. 我们已经实现了两个新重构,它们也可用作上下文操作。
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 功能。
We’ve looked into the approaching C# 11 and supported generic attributes.
[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(预览代码样式)面板也会显示语法样式的更改。
The Unreal Engine testing framework is now supported. 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 还会显示重载警告。
在分析了源生成器支持的性能后,我们决定,从编译器获取源生成的文档时增加请求之间的延迟。
因此,源生成器不会在编译器之前运行,CPU 工作总量减少。 确切的性能增益取决于是否有其他功能也触发生成器,例如 Visual Studio 的整行补全。
We’ve fixed a number of performance issues already and laid the groundwork for more. 这包括处理来自客户的性能快照、内部分析会话以及收集数据以在未来实施自动检查检测性能下降。
“进程外”模式的相关工作也在推进中。 Please refer to the newest update in our issue tracker.
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 功能的问题。 可免费试用 30 天