在特定范围内查找代码问题
设计时代码检查在您在编辑器中编写代码或审查特定文件时非常有帮助。 然而,ReSharper 还允许您在整个解决方案或更小的范围内运行静态代码分析,并在友好的视图中检查结果。 如果需要,您甚至可以共享检查结果。
开始代码检查
在解决方案、项目或自定义范围内检查代码
决定是否希望将 解决方案范围检查 的结果(例如,未使用的公共成员)包含在报告中。 如果希望包含这些结果,请 启用解决方案范围分析。 请注意,当启用解决方案范围分析时,即使您只需要检查单个项目,ReSharper 也必须分析整个解决方案,因此请准备好需要更多时间。
执行以下操作之一:
从主菜单中选择 或 。
在 解决方案资源管理器 中,选择要检查的项目(文件、文件夹、项目、解决方案文件夹),右键单击所选内容,然后在上下文菜单中选择 查找代码问题。
在架构视图中,选择一个或多个项目,右键单击所选内容,然后在上下文菜单中选择 查找代码问题。
检查结果窗口 将打开并显示检测到的代码问题。
分析检查结果
在 检查结果窗口 中,您可以查看发现的代码问题列表,并通过双击条目在编辑器中定位它们:

如果 检查结果窗口 已关闭,您可以通过按 Control+Alt+, 或选择 重新打开它。
每次新的代码检查运行都会在窗口中打开一个新选项卡,因此之前运行的结果会保留,直到您关闭它们的选项卡。
默认情况下,问题按文件分组。 如果需要,您可以使用 分组依据: 选择器按类型、 严重性 等重新分组问题。
要检查所选代码问题的上下文,请使用 预览 面板,该面板显示代码文件中与问题相关的一行或多行。 使用 显示预览
选择器在窗口底部或右侧打开面板。
筛选检查结果
当您检查代码时,ReSharper 会应用所有 严重性级别 的代码检查。 然而,默认情况下,严重性为“提示”的检查检测到的问题会被过滤掉。 如果需要,您可以自定义代码问题的筛选。
请注意,所选筛选会影响当前选项卡中代码问题的筛选方式,以及下次运行代码检查时问题的筛选方式。
筛选检查结果中的问题
如果您想隐藏某种类型的问题或隐藏除该类型问题以外的所有其他问题,请右键单击代码问题并分别选择 隐藏所有 [Issue type] 问题 或 仅显示 [Issue type] 问题。
要进行更精确的筛选,请单击工具栏上的 筛选问题
,并使用 筛选问题 对话框指定应显示的问题类型。 此对话框中的 默认值 按钮会在过滤掉严重性为“提示”的问题时恢复默认筛选。
共享检查结果
在大型项目中, 代码检查结果 可以以多种不同方式使用。 例如,将发现的问题分配给不同的开发人员:您可以复制或导出单个代码问题或一组问题,并将副本提交到问题跟踪器。
检查结果窗口 和解决方案中的错误/警告窗口都允许将代码问题导出为文本、HTML 或 XML 文件。
将检查结果导出到文件
在 检查结果窗口 中打开 代码检查结果 ,或 启用解决方案范围分析 并在解决方案中的错误/警告窗口中打开错误列表。
单击工具栏上的 导出
,将当前显示在窗口中的数据导出为文本格式,或使用下拉选择器将数据导出为 XML 或 HTML 格式。 出现的导出数据对话框将帮助您将数据保存到文件或复制到剪贴板。将当前问题导出为 XML 报告的另一种方法是,在主菜单中选择 ,然后指定文件名和位置。
将检查结果保存为 XML 格式有几个优点:首先,此格式与 InspectCode 命令行工具 和 JetBrains TeamCity 的输出格式兼容;其次,您可以稍后在 检查结果窗口 中加载并研究它。 无论使用哪种工具生成 XML 报告,您都可以始终使用 ReSharper 打开并检查它。
研究保存在 XML 报告中的检查结果
在主菜单中,选择 。
选择一个 XML 报告文件并单击 打开。
报告将在 检查结果窗口 的新选项卡中打开。 如果当前解决方案与 XML 报告对应,您将能够通过双击检查结果项导航到问题。
除了导出之外,您还可以将 检查结果窗口 和解决方案中的错误/警告窗口中显示的单个条目或自定义选择的条目复制到剪贴板。 复制的问题信息包括项目和解决方案的名称、文件名和行号以及问题的描述。 例如:
将发现的问题信息复制到剪贴板
在 检查结果窗口 或解决方案中的错误/警告窗口中选择一个或多个代码问题或问题组。
右键单击所选内容,然后在上下文菜单中选择 复制。
将复制的问题粘贴到适当的位置。
