ReSharper 2025.2 Help

解决方案范围分析

解决方案范围分析会在所有支持的语言中查找错误 除了 C++ ,包括那些不会阻止项目编译的错误。 如果您的项目包含此类文件(例如 JavaScript、CSS、HTML),解决方案范围分析将帮助您发现只能在运行时检测到的错误。

ReSharper 的解决方案范围分析启用了两个相关但不同的功能:

  • 解决方案范围的错误/警告监控器,可让您持续跟踪解决方案中的所有错误/警告:包括编译器错误/警告以及 ReSharper 自身检查检测到的错误/警告。 此功能与 设计时代码检查协同工作,并带来两个优势:

    • 您无需打开每个文件即可确保解决方案中没有错误/警告。

    • 如果您删除了一个公共成员或更改了其可见性,当前文件中的代码可能仍然是正确的,但如果该成员在解决方案的其他地方被使用了呢? 例如,假设您将一个成员的可见性从 公共 更改为 内部 ,假设它仅在当前项目中使用。 在此阶段,ReSharper 在当前文件中未发现错误。 然后,您 启用解决方案范围分析 ,实际上发现了错误。 您可以 跳转到解决方案中的下一个错误 ,发现有人在解决方案的另一个项目中使用了该成员。

  • 解决方案范围代码检查 ,可帮助发现只能通过分析整个解决方案才能检测到的问题(未使用的公共类型和成员、未分配的公共字段、可疑的类型转换等)。 当启用解决方案范围分析时,通过解决方案范围检查检测到的问题会在打开的文件中 高亮显示 ,与其他问题的显示方式相同,并且当您 在特定范围内运行代码检查时,它们也会出现在 检查结果窗口 中。

启用解决方案级分析(_A)

解决方案范围分析可能需要一些时间来对解决方案进行初始处理,因此默认情况下是禁用的。 您需要为每个新打开的解决方案显式启用它。

  1. 在 ReSharper 选项 的 代码检查 | 设置 页面 Alt+R, O 上,确保选中 启用代码分析 复选框,然后单击 启用解决方案级分析(_A)。 您可以选择性地启用或禁用解决方案范围分析中的警告。

  2. 可选地,选择 启用计算量大的检查 ,这将启用数据流分析并带来额外的检查,例如计算可空性。

  3. 可选地,选择 监视警告将警告添加到分析中

  4. 单击 选项 对话框中的 保存 应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置

或者,您可以右键单击状态栏右角的圆形指示器,并使用上下文菜单切换解决方案范围分析。 如果解决方案范围分析已关闭,只需双击灰色圆圈即可。

启用解决方案范围分析后,会发生以下几项更改:

  • 状态栏指示器显示分析的进度。 分析完成后,指示器会变为 绿色 (如果未发现错误/警告), 橙色 (如果启用了解决方案范围分析中的警告且解决方案中存在警告),或 红色 (如果发现了错误):

    解决方案范围分析指示器
  • 圆形指示器左侧分配了一个小区域,用于显示包含错误/警告的解决方案文件数量(如果有)。 您可以单击此区域以跳转到解决方案中的下一个错误/警告。

  • 解决方案范围代码检查对非私有成员变得可用,无论是在 设计时代码检查中还是在 特定范围内检查代码时

  • ReSharper | 检查 菜单中的 导航命令的名称和语义会发生变化。 具体来说, 下一个错误/警告 更改为 解决方案中的下一个错误/警告上一个错误/警告 变为 解决方案中的上一个错误/警告

监控解决方案中的警告

如果您监控解决方案中的警告,分析会变得更加资源密集,并可能影响大型解决方案的性能。 因此,您可以显式启用或禁用警告监控。

在解决方案范围分析中包含/排除警告

  • 当启用解决方案范围分析时,请执行以下操作之一:

    • 在 ReSharper 选项 的 代码检查 | 设置 页面 Alt+R, O 上,使用 监视警告 复选框位于 启用解决方案级分析(_A) 下方。

    • 在“解决方案中的错误/警告”窗口的工具栏上,单击 监视警告 ThemedIcon.Warning.Screen.(Gray).png

  • 当启用了警告分析时,您可以在 解决方案中的错误/警告 窗口中单击 ThemedIcon.Warning.Screen.(Gray).png 以显示或隐藏窗口中的警告以及状态栏指示器中的警告,而无需重新启动分析。

  • 要停止监控警告,请清除 ReSharper 选项 的 代码检查 | 设置 页面上的 监视警告 复选框 Alt+R, O

当在解决方案范围分析中启用警告时,其工作方式如下:只要解决方案中存在错误,就只会显示错误;只有在最后一个错误被修复后,未解决的警告才会出现。 当警告被禁用时,状态栏指示器将在最后一个错误被修复后变为绿色。

研究错误/警告列表

在启用解决方案范围分析时,您可以使用状态栏指示器监控解决方案中的错误/警告,但您也可以在“解决方案中的错误/警告”窗口中获取有关解决方案中所有错误/警告的详细报告。

查看解决方案中的错误/警告列表

  1. 执行以下操作之一:

    • 从主菜单中选择 ReSharper | 窗口| 解决方案错误

    • 右键单击状态栏右角的圆形指示器,然后从列表中选择 显示错误视图

    • 双击圆形指示器。

  2. 无论哪种方式,“解决方案中的错误/警告”窗口都会打开,您可以在其中查看检测到的错误/警告列表,并通过双击条目导航到相关代码:

    ReSharper:解决方案视图中的错误

即使不打开此窗口,您仍然可以通过 Alt+F12/Shift+Alt+F12ReSharper | 检查 | 下一个错误/警告/ReSharper | 检查 | 上一个错误/警告 )轻松导航解决方案中的错误,或者只需单击状态栏指示器左侧的错误/警告数量。

解决方案范围分析的性能

解决方案范围分析的主要计算是在您首次 启用它时执行的。 根据解决方案的大小,这些计算可能需要从几秒钟到几十分钟不等。 您仍然可以继续工作,但可能会出现一些性能下降。

一旦这些全局耗时的计算完成,将仅根据修改执行必要的增量分析。

启用后,解决方案范围分析可能还会大量使用内存。 如果您注意到系统资源消耗过多,您可以执行以下操作之一:

如果您关闭了解决方案范围分析,然后决定 重新启用它 ,ReSharper 将不得不重复一些初始计算,这可能会耗费时间。 为避免这种情况,您可以改为暂停并恢复解决方案范围分析。

暂停和恢复解决方案范围分析

  • 在“解决方案中的错误/警告”窗口的工具栏上,单击 暂停分析 ThemedIcon.SolutionAnalysisPause.Screen.(Gray).png继续分析 ThemedIcon.SolutionAnalysisContinue.Screen.(Gray).png

  • 右键单击状态栏右角的分析指示器,然后在上下文菜单中选择 暂停分析继续分析

忽略解决方案中的错误/警告

在解决方案开发的某个阶段,您可能会遇到过多已知的错误/警告。 ReSharper 允许您灵活地忽略某些错误或包含错误的文件,并将它们排除在解决方案范围分析结果之外。

这些项目将从“解决方案中的错误/警告”窗口的错误列表中隐藏,并且不会影响状态栏指示器的状态。 在必要时,您可以停止忽略这些项目以显示它们。

允许解决方案范围分析忽略特定的错误/警告

  1. 在“解决方案中的错误/警告”窗口中,选择一个发现的问题,或者如果您想忽略特定文件中的所有问题,请选择该文件。

  2. 右键单击所选项目,然后选择 忽略错误 ThemedIcon.IgnoreErrors.Screen.(Gray).png 或单击工具栏上的此按钮。

  3. 要查看被忽略的错误/警告,请单击工具栏上的 显示已忽略的错误/警告 ThemedIcon.ShowIgnoredErrors.Screen.(Gray).png——您将看到解决方案中的所有错误/警告,被忽略的项目将显示为划线状态。 即使您选择在列表中显示被忽略的项目,它们也不会影响状态栏指示器。

  4. 要停止忽略某个项目,请右键单击它并选择 停止忽略错误 ThemedIcon.IgnoreErrors.Screen.(Gray).png 或单击工具栏上的此按钮。

此功能在以下语言和技术中 受支持

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

功能在 C++ 中不可用

此功能在 ASP.NET 中可用

此功能在 Razor 中可用

此功能在 XAML 中可用

此功能在资源文件中可用

此功能在构建脚本文件中可用

此功能在 SQL/NoSQL 文件和注入中不可用

此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。

最后修改日期: 2025年 9月 27日