解决方案范围分析
JetBrains Rider 的解决方案范围分析启用了两个相关但不同的功能:
解决方案范围的错误/警告监控,允许您持续跟踪解决方案中的所有错误/警告:包括编译器错误/警告以及由 JetBrains Rider 自身检查检测到的错误/警告。 此功能与 设计时代码检查 一起工作,并带来两个优势:
您无需打开每个文件即可确保解决方案中没有错误/警告。
如果您删除了一个公共成员或更改了其可见性,当前文件中的代码可能仍然正确,但如果该成员在解决方案的其他地方被使用了怎么办? 例如,假设您将一个成员的可见性从
公开更改为内部,假设它仅在当前项目中使用。 在此阶段,JetBrains Rider 在当前文件中未发现错误。 然后,您 启用解决方案范围分析 ,实际上存在错误。 您可以 跳转到解决方案中的下一个错误 ,发现有人在解决方案的另一个项目中使用了该成员。
解决方案范围代码检查 ,帮助发现仅通过分析整个解决方案才能检测到的问题(未使用的公共类型和成员、未分配的公共字段、可疑的类型转换等)。 当启用解决方案范围分析时,解决方案范围检查检测到的问题会在打开的文件中以与其他问题相同的方式 高亮显示 ,并且当您 在特定范围内运行代码检查 时,它们也会出现在 问题窗口 中。
请注意,解决方案范围分析不会监控当前 解决方案配置 中未构建项目的错误。

启用解决方案级分析(_A)
解决方案范围分析可能需要一些时间来对解决方案进行初始处理,但一旦完成,它会在后台运行并且不会消耗太多资源。 如果您有一个非常大的解决方案并遇到性能问题,您可能需要禁用解决方案范围分析。
On the page of JetBrains Rider 设置 Ctrl+Alt+S, make sure that the 启用代码分析 checkbox is selected, and click 启用解决方案级分析(_A). 您可以选择性地启用或禁用解决方案范围分析中的警告。
可选地,选择 启用计算量大的检查 ,启用数据流分析并带来额外的检查,例如计算可空性。
可选地,选择 监视警告 以 将警告添加到分析中。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。
或者,您可以点击状态栏右角的圆形指示器,并使用上下文菜单切换解决方案范围分析。
启用解决方案范围分析后,会进行以下几项更改:
状态栏指示器显示分析的进度。 分析完成后,指示器会变为 绿色 (如果未发现错误/警告), 橙色 (如果启用了解决方案范围分析中的警告且解决方案中存在警告),或 红色 (如果发现了错误):

圆形指示器左侧的小区域用于显示包含错误/警告的解决方案文件数量(如果有)。 您可以点击此区域跳转到解决方案中的下一个错误/警告。
在解决方案资源管理器中,JetBrains Rider 检测到错误的文件及其所有父项会以红色下划线突出显示。

解决方案范围代码检查 对非私有成员在 设计时代码检查 和 在特定范围内检查代码 时均可用。
监控解决方案中的警告
如果您在解决方案中监控警告,分析将变得更加资源密集,并可能影响大型解决方案的性能。 因此,您可以显式启用或禁用警告监控。
在解决方案范围分析中包含/排除警告
当启用全局范围分析时,请执行以下操作之一:
On the page of JetBrains Rider 设置 Ctrl+Alt+S, use the 监视警告 checkbox under 启用解决方案级分析(_A).
On the toolbar of the 所有解决方案文件 tab of the 问题工具窗口 Alt+6, click
and then click 警告.
要停止监控警告,请清除 JetBrains Rider 设置 的 页面上的 监视警告 复选框 Ctrl+Alt+S。
当在解决方案范围分析中启用警告时,其工作方式如下:只要解决方案中存在错误,就只会显示错误;只有在修复最后一个错误后,未解决的警告才会出现。 当禁用警告时,状态栏指示器将在修复最后一个错误后变为绿色。
研究错误/警告列表
在启用全局范围分析时,您可以使用状态栏指示器监控解决方案中的错误/警告,还可以在 所有解决方案文件 标签的 问题工具窗口 Alt+6 中获取解决方案中所有错误/警告的详细报告。
查看解决方案中的错误/警告列表
请执行以下操作之一:
从主菜单中选择 或按 Alt+6 ,然后切换到 所有解决方案文件 标签。
点击状态栏右角的圆形指示器,并从列表中选择 在工具窗口中显示错误。
双击圆形指示器。
无论哪种方式,都会打开 所有解决方案文件 标签的 问题工具窗口 Alt+6 ,您可以在其中查看检测到的错误/警告列表,并通过双击条目导航到相关代码:

即使不打开此窗口,您仍然可以通过 Alt+F2/Alt+Shift+F2 或仅点击状态栏指示器左侧的错误/警告数量,轻松导航解决方案中的错误。
从分析中排除特定框架
如果您只对特定框架的代码问题感兴趣,您可以专注于这些问题,并忽略其他框架的问题。 这在以下两种情况下会很有帮助:
当解决方案中的不同项目面向不同框架时,您希望根据目标框架忽略某些项目。
当一个项目面向多个框架时,只有其中一些框架是相关的。
在这两种情况下,请在 所有解决方案文件 标签的 问题工具窗口 Alt+6 中点击 视图选项 ,并在 框架 下选择所需的项目:

请注意,在上述示例中,全局范围分析的错误仅包括未解决的 ArgumentException ,而编辑器会突出显示未解决的 异常。 这是因为当前项目的 设计时检查的目标框架 配置独立于全局范围分析的目标框架。
解决方案范围分析的性能
全局范围分析的主要计算是在您首次 启用它 时执行的。 根据解决方案的大小,这些计算可能需要几秒钟到几十分钟。 您仍然可以继续工作,但可能会出现一些性能下降。
一旦这些全局耗时的计算完成,将仅根据修改执行必要的增量分析。
启用时,全局范围分析可能还会大量使用内存。 如果您注意到系统资源消耗过多,您可以执行以下操作之一:
如果您关闭全局范围分析,然后决定 重新启用它 ,JetBrains Rider 将不得不重复一些初始计算,这可能会耗时。 为避免这种情况,您可以暂停并恢复全局范围分析。
暂停和恢复解决方案范围分析
点击状态栏中的分析指示器,然后在上下文菜单中选择 暂停分析 或 继续分析。
忽略解决方案中的错误/警告
在解决方案开发的某个阶段,您可能会有太多已知的错误/警告。 JetBrains Rider 允许您灵活地忽略某些错误或包含错误的文件,并将它们排除在全局范围分析结果之外。
这些项目将从 所有解决方案文件 标签的 问题工具窗口 Alt+6 的错误列表中隐藏,并且不会影响状态栏指示器的状态。 必要时,您可以停止忽略这些项目以显示它们。
允许解决方案范围分析忽略特定错误/警告
在 所有解决方案文件 标签的 问题工具窗口 Alt+6 中选择一个发现的问题,或者如果您想忽略特定文件中的所有问题,请选择该文件。
右键点击所选项目,然后选择 忽略错误
。要查看被忽略的错误/警告,请点击工具栏上的
,然后点击 忽略的条目——您将看到解决方案中的所有错误/警告,被忽略的项目将显示为划线状态。 即使您选择在列表中显示被忽略的项目,它们也不会影响状态栏指示器。
要停止忽略某个项目,请右键点击它并选择 停止忽略错误
。