ReSharper 2023.2 Help

Performance Guide

ReSharper options: Environment | Performance Guide

Use this page to get an overview of performance-critical preferences and quickly change their values. If a preference has a suboptimal value, ReSharper displays a snail icon Themed icon snail screen gray next to it.

When you select a preference in the list, ReSharper displays the path where it is configured, the current value, and the recommended value at the bottom of the page. If the current value of the selected preference differs from the recommended value, you can click Apply and ReSharper will automatically set the recommended value.

For some preferences — such preferences are marked with the warning icon Themed icon warning screen gray — it is not feasible to automatically change their values. When you select such preference, you can click Open Options at the bottom of the page and configure it manually.

By default, ReSharper automatically checks performance-critical preferences and if their values differ from the recommended ones, it displays a notification on the Visual Studio status bar:

ReSharper: Performance guide status-bar notification

If you want to disable these notifications, clear the Enable performance suggestions checkbox.

Each of the items on the page also has a drop-down selector, where you can choose how ReSharper should react if the preference has a suboptimal value:

  • Ignore — ReSharper will not track this preference.

  • Notify me — if the preference has a value that differs from the recommended one, ReSharper will display a notification on the Visual Studio status bar.

  • Fix silently (might be unavailable for some preferences) — ReSharper will automatically set the recommended value for this preference if it detects a different value.

Option

Description

Affects

Impact

System preferences affecting performance

Antivirus software

This section displays antivirus software detected in your system.

Windows Defender (as well as other antivirus software) can cause performance issues with Visual Studio and ReSharper by constantly scanning related high-load processes and folders with frequently changed contents. We recommend adding the devenv.exe, msbuild.exe, your project/solution folders, and ReSharper cache folder (by default %LOCALAPPDATA%\JetBrains\Transient and configurable) to the ignore list of Windows Defender (and other antivirus software).

User action response time

High

Visual Studio preferences affecting performance

Do not track active item in Solution Explorer

If this feature is disabled, you save some resources on updating the Solution Explorer tree. However, when you need to locate the current document, you can always press Alt+Shift+L.

Navigation between files

Low

Disable Roslyn full solution analysis

Analysing the entire solution always comes at a price, and the larger your solution, the bigger the performance impact. Although ReSharper features its own Solution-wide analysis, it is also the feature that we recommend to disable as soon as you notice any slowness in Visual Studio.

User action response time

High

Source control plugin in use

Many Visual Studio users report performance problems when using the default source control plugin — here is one example — therefore, if you do not use source control integration, we recommend turning it off to improve overall performance. Otherwise, choose Ignore for this suggestion.

Startup time,


User action response time

High

Show empty environment at startup

Choosing to show the empty IDE at startup will help you slightly decrease the startup time.

Startup time

Low

Do not download content at startup

This is another place where you can save some startup time proportionally to your internet connection speed.

Startup time

Low

Do not save autorecover information

Although constantly copying the current state of opened documents may be useful in case of a crash, in large solutions it may come at a price of UI freezes, (for example, see the comments here). Therefore, we recommend disabling this feature and developing a habit of saving your files after any important changes.

Startup time,


User action response time

Medium

Do not track changes in text editor

When 'Track changes' is enabled, Visual Studio adds gutter highlightings for edited lines. If there are too many edits in the current file, the editor can become slow because these highlightings often need to be recalculated.


Although this is a helpful feature, we recommend disabling it, especially when working with large files.

Typing


User action response time

Low

Disable XAML designer

Visual XAML designer is known to be a very resource-intensive feature. So if you can work with XAML code without the visual representation of XAML forms, we strongly recommend disabling the XAML designer.

Editing XAML documents

High

Disable automatic formatting by Visual Studio

If you rely on ReSharper when formatting your code, you probably do not want the formatting to be done twice. So although Visual Studio formatting does not normally bring any performance issues, it seems logical to eliminate the unnecessary work.

Typing,


Pasting code

High

Disable synchronization of settings

If you choose to synchronize your Visual Studio settings, there is no known performance problems with it, just select Ignore for this option. But if you do not use Visual Studio on multiple computers, we recommend disabling the synchronization.

User action response time

Low

Do not show annotations over vertical scroll bar

ReSharper extensively uses the right gutter or the vertical scroll bar to show design-time inspection notification, structural search and replace results, To-do items, and usages of symbol in the file. Visual Studio also displays a lot of its notifications on the scroll bar, and sometimes Visual Studio and ReSharper report the same error, which got displayed twice, and often the scrollbar becomes cluttered with marks.


If you prefer ReSharper marks, you can completely or partially disable Visual Studio annotations and get some performance benefits by not rendering them.


Alternatively, you can disable ReSharper's marks on the scroll bar — go to ReSharper | Options | Editor | Editor Appearance and choose Do not show marker bar.

Scrolling,


Typing

Low

Disable CodeLens for all languages

CodeLens is among several performance considerations for large solutions because "the IDE basically performs a Find All References operation for each method as it scrolls onto the screen". Therefore, we recommend disabling it if you notice any lags.


Some features of CodeLens are provided by ReSharper — for example, you can always quickly get all references or usages of the symbol Alt+F7.

Scrolling,


Typing,


User action response time

High

ReSharper preferences affecting performance

Do not include Visual Studio actions into ReSharper action list

ReSharper can show Visual Studio Light Bulb actions integrated in its own action list. This is costly performance-wise because ReSharper has to request available actions from Roslyn, which could lead to increased CPU and memory usage.


Although all requests to Roslyn are made in the background thread, you might want to opt out Visual Studio actions integration if there are any noticeable performance problems.

Typing,


User action response time

Low

Last modified: 24 January 2022