Speeding up ReSharper (and Visual Studio)

There are two major sources of performance problems with ReSharper installed in Visual Studio:

Your system does not meet the requirements . In this case, we suggest you to upgrade your system as the first step of dealing with the problems.

We constantly make sure that ReSharper works fine on modern hardware and with medium- and large-size solutions without any tweaking. We believe that Visual Studio developers are working towards the same things.

By trying to speed up ReSharper on outdated hardware by disabling some features, you deprive yourself of great tools that can speed up your development performance.

. In this case, we suggest you to upgrade your system as the first step of dealing with the problems. We constantly make sure that ReSharper works fine on modern hardware and with medium- and large-size solutions without any tweaking. We believe that Visual Studio developers are working towards the same things. By trying to speed up ReSharper on outdated hardware by disabling some features, you deprive yourself of great tools that can speed up your development performance. Visual Studio and ReSharper, which share the same 32-bit process push your system to its limits. Often, this is reported to happen on large-size solutions and when ReSharper is installed to Visual Studio 2015.

In this case, provided your system meets the requirements, the check-list below will help you fix performance problems in most cases.

A significant time (up to several minutes) taken for opening a large solution for the first time is not a sign of a problem. ReSharper builds and caches a model of the solution, which is then used in almost all of its features - not only for code analysis, but also for navigation and search, code completion, unit testing and more.

Subsequent openings of this solution will not result in any significant delays because the indexing results are already cached on your hard drive.

Note that because ReSharper processes assembly annotations at the very first start, any subsequent start will be faster even if you clean up ReSharper caches.

In this topic:

Try this first

The most common causes of performance problems could be eliminated with the following actions:

Hardware check-list

Make sure there is no hardware interrupts and DPCs (usually caused by bad drivers and/or virtualization).

Make sure your hard drive is not fragmented.

Make sure the pagefile is at least 1GB.

Make sure you have at least 15% free disk space (MFT fragmentation/running out of space risk).

Make sure you have at least 4GB RAM free.

Storing the solution and ReSharper caches on an SSD would help, while a RAMDisk would not make a big difference.

Recommended system software adjustments

Use a Windows version currently supported by Microsoft

Keep Windows updated

Use 64-bit operating system

Add the devenv.exe , msbuild.exe and your code folder to the ignore list of Windows Defender (and other antivirus software).

, and your code folder to the ignore list of Windows Defender (and other antivirus software). Stop unnecessary services and processes

Visual Studio

Before starting to tweak Visual Studio settings, check that the most recent Visual Studio update / service pack / hot fixes are installed.

Configuring Visual Studio preferences

Open Visual Studio options (Tools | Options) and configure the preferences as follows:

Environment | General : disable Automatically adjust visual experience based on client performance , disable Enable rich client visual experience , enable Use hardware graphics acceleration if available . These adjustments will reduce UI lags and improve overall performance.

: disable , disable , enable . These adjustments will reduce UI lags and improve overall performance. Source Control | Plug-in Selection : select None for the source control plug-in. This will turn off Git or another VCS provider and improve overall performance.

: select for the source control plug-in. This will turn off Git or another VCS provider and improve overall performance. Environment | Startup : choose to show empty environment at startup and disable downloading content. Turning off the start page and the news channel might save some time on startup.

: choose to show empty environment at startup and disable downloading content. Turning off the start page and the news channel might save some time on startup. Environment | AutoRecover : disable Save AutoRecover information . This will reduce disk operations.

: disable . This will reduce disk operations. Text Editor | General : disable Track changes . This will reduce disk operations.

: disable . This will reduce disk operations. Text Editor | All Languages | Scroll Bars : disable Show annotations over vertical scroll bar . This will reduce editor lags.

: disable . This will reduce editor lags. Text Editor | All Languages | CodeLens : disable CodeLens. This will improve overall performance.

: disable CodeLens. This will improve overall performance. Debugging | Just-In-Time : disable Just-In-Time Debugging for Script . This will speed up build and debug.

: disable Just-In-Time Debugging for . This will speed up build and debug. Web Forms Designer | General : disable Web Forms Designer. This will reduce UI and editor lags.

: disable Web Forms Designer. This will reduce UI and editor lags. XAML Designer | General : disable XAML Designer. This will reduce UI and editor lags.

: disable XAML Designer. This will reduce UI and editor lags. Text Editor | [Language] | Formatting : disable all auto-formatting preferences. If you use ReSharper's formatting assistance, this will prevent your code from being reformatted twice and reduce editor lags.

: disable all auto-formatting preferences. If you use ReSharper's formatting assistance, this will prevent your code from being reformatted twice and reduce editor lags. Text Editor | C# : if you use File Structure window , then you probably don't use the navigation bar on top of the editor and you can safely disable it on this options page.

: if you use , then you probably don't use the navigation bar on top of the editor and you can safely disable it on this options page. Environment | Synchronized settings : disable synchronization of settings. This will improve overall performance.

Locations of the preferences described here correspond to Visual Studio 2015.

Configuring Roslyn

In most of reported performance problems, ReSharper was installed in Visual Studio 2015. This is no surprise: when your Visual Studio solution grows large, two code analysis engines (ReSharper and Roslyn) working simultaneously can reach the memory limit of the 32-bit process that they share.

Although there is no official way to disable Roslyn, you can check out this article to find some alternative solutions.

You can also take a look at Roslyn performance considerations for large solutions.

Other Visual Studio adjustments

Uninstall unused packages and extensions from Visual Studio

If you are not working on some projects, you can unload them from Visual Studio and reload them back when needed. Right-click on the project or a solution folder in the Solution Explorer and choose Unload Project or Unload Projects in Solution Folder - this will improve overall performance.

ReSharper

Before starting to tune up ReSharper, check that you are running the latest version, and if not, consider updating.

Configuring ReSharper preferences

ReSharper provides plenty of different features, and if necessary, you can disable most of them in ReSharper options. So the general rule here is: if you have any performance problems, disable features you do not use.

Open ReSharper options (ReSharper | Options) and configure the preferences as follows:

Do not overuse complex UI controls

Other adjustments

If nothing helps

If you've tried out everything described above and the performance is still down, you can temporarily disable ReSharper and check whether it was the cause of the slowdown. To disable/enable ReSharper, go to Tools | Options | ReSharper Ultimate and click Suspend Now/Resume Now.

If suspending ReSharper helps improve the performance but you still want to use it occasionally for code analysis, code cleanup or reformatting code, you might want to have a shortcut that quickly switches ReSharper on and off. Here is how to do it: go to Tools | Options | Environment | Keyboard and find the ReSharper_ToggleSuspended command, then press a shortcut of your choice and click Assign.

Known Performance Problems

If you have recently updated ReSharper and observe performance degradation with solutions that were opened with previous versions, you can attempt to speed thing up by clearing the ReSharper caches and deleting the solution .suo file.

To clear the caches, go to ReSharper | Options | Environment | General and click Clear Caches.

Known Compatibility Problems

Other Visual Studio extensions

Major compatibility issues have been observed with the following products:

DevExpress CodeRush/Refactor Pro (incompatible)

Telerik JustCode (incompatible)

Whole Tomato Visual Assist

Productivity Power Tools

Performance degradation has been observed with the following products:

Some versions of the StyleCop ReSharper plug-in

PowerCommands for Visual Studio

There are also reports on Web Essentials contributing to low performance while editing .cshtml files. If you're affected by this problem, consider going to Tools | Options | Web Essentials and setting Auto-format HTML on Enter to False.

Parallels Desktop for Mac

If you're running Visual Studio in a Windows virtual machine on your Mac using Parallels Desktop, ReSharper IntelliSense lists might be very slow to render.

If this occurs in your setup, consider switching from Coherence mode to Full Screen mode. For guidelines on switching between the two modes, please see this Parallels Knowledge Base entry.

Last modified: 12 October 2017