性能指南

使用此页面可概览性能关键的首选项,并快速更改其值。 如果某个首选项的值不理想,ReSharper 会在其旁边显示一个蜗牛图标
。
当您在列表中选择一个首选项时,ReSharper 会在页面底部显示其配置路径、当前值和推荐值。 如果所选首选项的当前值与推荐值不同,您可以单击 Apply ,ReSharper 将自动设置推荐值。
对于某些首选项(这些首选项用警告图标
标记),无法自动更改其值。 当您选择此类首选项时,可以单击页面底部的 打开选项 并手动配置。
默认情况下,ReSharper 会自动检查性能关键的首选项,如果其值与推荐值不同,则会在 Visual Studio 状态栏上显示通知:

如果您想禁用这些通知,请取消选中 启用性能建议 复选框。
页面上的每个项目也有一个下拉选择器,您可以在其中选择当首选项值不理想时 ReSharper 应如何反应:
忽略 — ReSharper 将不会跟踪此首选项。
通知我 — 如果首选项的值与推荐值不同,ReSharper 将在 Visual Studio 状态栏上显示通知。
静默修复 (可能对某些首选项不可用)— 如果检测到不同的值,ReSharper 将自动为此首选项设置推荐值。
选项 | 描述 | 影响 | 影响范围 |
|---|---|---|---|
影响性能的系统首选项 | |||
杀毒软件 | 此部分显示系统中检测到的杀毒软件。 Windows Defender(以及其他杀毒软件)可能会通过不断扫描相关的高负载进程和频繁更改内容的文件夹,导致 Visual Studio 和 ReSharper 出现性能问题。 我们建议将 devenv.exe 、 msbuild.exe 、您的项目/解决方案文件夹以及 ReSharper 缓存文件夹(默认情况下为 %LOCALAPPDATA%\JetBrains\Transient 和 可配置 )添加到 Windows Defender(及其他杀毒软件)的忽略列表中。 | 用户操作响应时间 | 高 |
影响性能的 Visual Studio 首选项 | |||
不跟踪 Solution Explorer 中的有效条目 | 如果禁用此功能,您可以节省一些更新解决方案资源管理器树的资源。 但是,当您需要 定位当前文档 时,您始终可以按 Alt+Shift+L。 | 文件间导航 | 低 |
禁用 Roslyn 的完整解决方案分析 | 分析整个解决方案 总是需要付出代价,解决方案越大,性能影响越大。 尽管 ReSharper 提供了自己的 解决方案范围分析 ,但我们仍建议在您注意到 Visual Studio 变慢时禁用此功能。 | 用户操作响应时间 | 高 |
正在使用的源代码管理插件 | 许多 Visual Studio 用户在使用默认的源代码管理插件时报告了性能问题。 因此,如果您未使用源代码管理集成,建议关闭此功能以提升整体性能。 否则,请为此建议选择 忽略。 | 启动时间, | 高 |
启动时显示空环境 | 选择在启动时显示空 IDE 有助于略微减少启动时间. | 启动时间 | 低 |
启动时不下载内容 | 这是另一个可以根据您的网络连接速度成比例节省启动时间的地方。 | 启动时间 | 低 |
不保存自动恢复信息 | 尽管不断复制已打开文档的当前状态在发生崩溃时可能很有用,但在大型解决方案中,这可能会导致 UI 卡顿(例如,请参见评论 此处)。 因此,我们建议禁用此功能,并养成在进行重要更改后保存文件的习惯。 | 启动时间, | 中 |
不跟踪文本编辑器中的更改 | 启用“跟踪更改”时,Visual Studio 会为已编辑的行添加边距高亮显示。 如果当前文件中有太多编辑,编辑器可能会变慢,因为这些高亮显示通常需要重新计算。 | 输入 | 低 |
禁用 XAML 设计器 | Visual Studio 2019 中的 Visual XAML designer 是一项 众所周知的资源密集型功能。 因此,如果您 使用 XAML 代码而无需 XAML 表单的可视化表示,建议禁用 XAML designer。 | 编辑 XAML 文档 | 高 |
禁用 Visual Studio 自动格式化 | 如果您依赖 ReSharper 来 格式化代码 ,您可能不希望格式化操作被执行两次。 因此,尽管 Visual Studio 的格式化通常不会带来性能问题,但消除不必要的工作似乎是合乎逻辑的。 | 输入, | 高 |
禁用设置同步 | 如果您选择 同步您的 Visual Studio 设置 ,目前没有已知的性能问题,只需为此选项选择 忽略。 但如果您不在多台计算机上使用 Visual Studio,我们建议禁用同步。 | 用户操作响应时间 | 低 |
不在垂直滚动条上显示注解 | ReSharper 广泛使用右侧边距或垂直滚动条来显示 设计时检查通知、 结构化搜索和替换结果、 待办事项 项目以及 文件中的符号用法。 Visual Studio 也会在滚动条上显示许多通知,有时 Visual Studio 和 ReSharper 会报告相同的错误,导致重复显示,滚动条经常变得杂乱。 | 滚动, | 低 |
禁用所有语言的 CodeLens | CodeLens 是 大型解决方案的几个性能考量之一 ,因为 “IDE 基本上会对每个方法执行一次查找所有引用操作,当它滚动到屏幕上时”。 因此,如果您注意到任何延迟,我们建议禁用它。 | 滚动, | 高 |
影响性能的 ReSharper 首选项 | |||
网络驱动器上的 ReSharper 设置文件 | 如果您使用 自定义设置层 ,并且相应的 .DotSettings 文件保存在网络驱动器上,读取或写入设置时可能会出现性能问题。 | 用户操作响应时间 | 低 |
不将 Visual Studio 操作包含在 ReSharper 操作列表中 | ReSharper 可以在其 操作列表中显示集成的 Visual Studio 灯泡操作。 这在性能方面代价高昂,因为 ReSharper 必须从 Roslyn 请求可用操作,这可能会导致 CPU 和内存使用量增加。 | 输入, | 低 |