源生成器支持:
源代码生成器可用于减少繁琐和重复的开发工作,并在编译时生成代码。在 ReSharper 2021.2 中,许多可用于人工编写的代码文件的功能也可用于源生成的文件。改进了编辑器支持,增强了调试器并增加了对解决方案范围错误分析 (SWEA) 和重构的支持。
ReSharper 2021您现在可以使用 Find Usages、搜索继承者、使用 Ctrl+单击和导航到从生成的代码导航到手动编写的代码等。
ReSharper 2021现在启用语义突出显示,以便正确突出显示事件、字段和属性等类成员。在适当的地方显示所有镶嵌提示。
调试时会显示 ReSharper 自己的数据提示。这通过搜索、属性突出显示等功能提供了更强大的调试帮助。
ReSharper 现在支持由 VB.NET 中的源生成器生成的代码。
HttpClient URI 支持- 在之前的版本中,添加了对 Microsoft ASP.NET 路由模板的支持。在此版本中,改进了对 HttpClient URI 字符串的支持:
使用 HttpClient 时,代码完成现在将建议所有可以解析为使用 [Route]、[Http{Method}] 或 [AcceptVerbs] 属性注释的控制器中的操作的 URI。
您现在可以使用 Go to Declaration 和 Find Usages 在控制器内部的路由属性和这些 URI 之间轻松导航。
ReSharper 2021您现在可以重命名控制器中的属性路由,这会影响其在 URI 中的使用,您甚至可以直接从 URI 字符串重命名路由。
ReSharper 2021导航- 为导航添加了有用的功能:
在调试时,ReSharper 更了解您的代码。因此,在接口引用上调用 Go To Declaration(或 Ctrl+Click)将直接带您进入它们的实现。
Go To Base/Inheritors 列表现在也显示隐藏的覆盖。
对于生成的代码,警告和错误显示在编辑器和标记栏上。
解决方案广泛的错误分析 (SWEA) 现在包括由源生成器生成的文件。如果项目中生成的文件中有错误,您将能够立即发现并导航到它。
您可以使用新选项切换此行为以包含源生成的文件,默认情况下启用并位于 ReSharper | 选项 | 代码检查 | 设置 | 启用解决方案范围的分析。
现在可以从源代码生成的文件中触发重构。使用重命名重构来重命名生成的属性。ReSharper 还将在手动编写的代码中重命名相关符号。
同样,更改签名让您可以验证更改后生成的代码是否仍然可以编译。
代码样式和格式
为记录、扩展方法和捕获变量指定高级命名规则有时会很有用。从这个版本开始,现在可以配置这些规则。
Pico 样式已作为选项添加到“支撑布局”选项卡中。
ReSharper 2021在一些情况下,默认格式首选项已更改以与 Microsoft Visual Studio 默认值保持一致。
C++ 内联函数重构- 新的内联函数重构让您可以用函数体快速替换函数调用。ReSharper C++ 将执行必要的转换、处理所有名称冲突并重新格式化生成的代码。
C++ 类型转换提示- ReSharper C++ 2021.2 引入了隐式类型转换的嵌入提示,这可能会导致无意的数据丢失或性能问题。ReSharper C++ 现在指示隐式转换在您的代码中发生的位置。
ReSharper 2021动态程序分析 (DPA) - DPA 现在为每个问题存储两个值 - 历史最大值和上次运行的值。这可以防止漏报,因为之前问题可能会低于阈值并从问题列表中消失,这不是因为它们已被修复,而是因为它们的启动条件已更改。还有其他一些改进:
ReSharper 2021当您开始性能分析时,DPA 会自动禁用。
动态程序分析窗口现在支持选择多个问题。
使用 SuppressMessage 属性抑制问题现在适用于异步方法。