在设计时分析代码问题
ReSharper 在您打开代码文件时立即开始分析,编辑过程中持续分析,直到文件关闭。 所有检测到的代码问题都会根据其 严重级别在编辑器中高亮显示。 问题的地图也会显示在编辑器窗口右侧的 标记栏上,您可以立即看到文件的状态,并点击标记 导航到特定的代码问题。
设计时检查功能
为了说明 ReSharper 执行的设计时代码检查,请参考编辑器中显示的以下代码片段:

在此示例中,我们可以看到 ReSharper 代码检查的以下功能:
中等优先级的代码问题(例如,关于符号名称不符合 命名风格 的警告)以波浪线突出显示。
低优先级的代码问题(例如,与未使用的公共成员相关的建议)以灰色显示。
状态指示器帮助您快速查看当前文件是否存在任何代码问题。
代码分析提示 使缺少的函数返回值、switch 语句中缺少的 break 和已释放的资源更容易被注意到。
针对未导入类型出现的修复弹出窗口。 只需按 Alt+Enter 或单击此弹出窗口,即可让 ReSharper 为文件中的所有类型添加缺失的指令。 有关更多信息,请参阅 导入缺失的命名空间。
与警告对应的标记显示在 标记栏 上。
与错误对应的标记显示在 标记栏 上。
如果 ReSharper 在光标位置有任何建议, 操作指示器 会出现在光标位置的左侧。
高优先级的代码问题(例如,与未解析的符号和不正确的返回类型相关的错误)以红色文本和红色波浪线突出显示。
与建议对应的标记显示在 标记栏 上。
如果启用了 解决方案范围分析 ,ReSharper 允许您查看更多代码问题。 在此示例中,它检测到未使用的公共成员,并通知您解决方案中其他文件中的错误。 单击解决方案范围分析图标以查看检测到的问题。
光标位置问题的简短 描述 显示在状态栏中。
查看问题描述
对于每个代码问题,ReSharper 提供了一个简短的描述,您可以通过多种方式查看:
当插入符号位于高亮代码处时,请检查状态栏左下角。

当插入符号位于高亮代码处时,按 Ctrl+K, I 以在工具提示中查看问题描述。 或者,将鼠标悬停在任何高亮代码上。

将鼠标悬停在 标记栏 上的代码问题标记上。

导航代码问题
如果启用了设计时代码检查,您可以轻松地在当前文件中检测到的所有问题之间导航(不包括 提示严重级别的问题)。
导航当前文件中的代码问题
导航文件或解决方案中的错误
按 Alt+F12 跳转到下一个错误,或按 Shift+Alt+F12 跳转到上一个错误。
从主菜单中选择 或 。
如果启用了 解决方案范围分析 并且存在一些错误,错误的数量会显示在状态栏的右上角。 您可以点击此数字跳转到解决方案中的下一个错误。
设计时检查何时被禁用?
默认情况下,设计时代码检查在所有支持的语言中启用,但在某些情况下,分析可能在当前文件中不可用。 您可以通过
暂停图标在 状态指示器上识别出代码检查已禁用的文件。
- 设计时检查已全局禁用
您可以通过在 ReSharper 选项 Alt+R, O 页面上的 中选择 启用代码分析 重新启用它。
- 当前文件中的代码检查已禁用
The current file is excluded from code analysis: it is listed explicitly, by its containing folder, or by the file mask in the 要跳过的元素 section on the page of ReSharper 选项 Alt+R, O .
您可以按 Control+Alt+Shift+D8 切换当前文件的代码分析;这也会将其添加到或从 要跳过的元素 列表中移除。
- 设计时代码检查已禁用,因为文件过大
为了优化性能和内存消耗,ReSharper 会自动禁用大于
300千字节的文件的设计时检查。 您可以在这些文件中按 Control+Alt+Shift+D8 启用代码分析。- 文件未被分析,因为它未包含在解决方案中
ReSharper 需要有一个解决方案模型来分析每个文件中使用的符号和引用。 因此,它无法分析未包含在当前解决方案中的文件。
这通常发生在反编译文件和符号服务器的文件中,这些文件在您 导航已编译代码时打开。 通常,您不会想要分析这些文件,因为无法对它们进行有意义的编辑。
另一方面,如果您通过从系统文件管理器拖放或通过 打开文件进行编辑,则需要打开该文件所属的解决方案,或者将文件包含在当前解决方案中(右键单击目标项目并选择 )。
- 分析文件时发生内部错误
在某些罕见情况下,可能会有内部错误阻止 ReSharper 分析文件。 In such cases, clean the analysis indexes and restart the IDE: click 清除缓存 on the page of ReSharper 选项 Alt+R, O .
- 代码检查部分被禁用
如果文件通过其包含的文件夹或文件掩码被显式列为包含 生成代码 ,则设计时代码检查只会报告该文件中的语法和编译器错误。
检查选项菜单
除了建议的修复之外,对于每个可配置的代码检查以及 自定义检查 ,ReSharper 会在操作列表中显示 检查 [检查名称]
子菜单,其中包含以下项目:
对于最具争议的问题,有 为何 ReSharper 提出这种建议? 项目可打开帮助页面,其中包含相应检查的详细描述。
![检查 [检查名称] 子菜单 检查 [检查名称] 子菜单](https://resources.jetbrains.com/help/img/dotnet/2025.2/code_inspection_menu.png)
查找类似问题
您不仅可以使用 快速修复修复高亮问题,还可以在整个解决方案或较小范围内查找和研究所有类似问题(所有通过相同代码检查检测到的问题)。
查找类似问题
与 Visual Studio 代码检查控件的集成
从 2015 版开始,Visual Studio 自带其代码分析引擎(Roslyn),并提供其 快速操作功能以执行重构和修复错误。
Visual Studio 的快速操作通常执行与 ReSharper 的 快速修复、 上下文操作或 重构相同的修复。 因此,对于某些错误,您可能会同时收到来自 Visual Studio 和 ReSharper 的两个类似建议。 在下图中,您可以看到两个灯泡都建议移除冗余的 using 指令:

为避免这种情况,ReSharper 在 ReSharper 选项 的 页面上提供了 编辑器左边距中的快速操作指示器 选择器 Alt+R, O 。
如果需要,您还可以禁用 Visual Studio 在编辑器中的错误高亮显示,这样只有 ReSharper 检测到的代码问题会被高亮显示。 为此,请在 ReSharper 选项的 页面上选择 隐藏 Visual Studio 波形曲线。

