How to tell ReSharper to sort usings with system namespaces NOT at the top?

I am using ReSharper 7 and at least for me ReSharper takes the "System directive sorting option" from Visual Studio options.

Sometimes when VS and ReSharper settings get messed it helps to reset Visual Studio settings from Tool->Import and Export Settings->Reset all settings.


I was testing this again under ReSharper 8 to see if it's been fixed, and I noticed something interesting:

  • If my existing namespaces already have System items first, then ReSharper will insert new namespaces below them.

  • If my existing namespaces have at least one item before the System items, then ReSharper will insert new namespaces alphabetically.

  • ReSharper's behavior is the same regardless of the setting of Visual Studio. It only takes into consideration the existing namespaces - not the setting of Visual Studio.

So if I have the following:

using A;
using System;
using Z;

Then if I use a class from namespace B and alt-enter to let ReSharper add the namespace, it will end up as:

using A;
using B;
using System;
using Z;

BUT, if I just have this:

using System;
using Z;

And I do the same exact thing, then I'll get:

using System;
using B;
using Z;

And it doesn't matter what VS's setting is.

I assume this is what was happening in ReSharper 7 also and I just didn't notice.


If I cut all the usings, then I paste them where they were, and then do the sorting, it seems to respect the option:

Place 'System' directives first when sorting usings

I'm testing this on Visual Studio Community 2017 and Resharper 2018.3.4.