Resharper Clean-up Code - how to affect sorting of methods?

I've got a customized clean-up and it's almost 'there'.

However, R# appears to want to sort the member methods, but at least it does not appear to be alphabetically.

Is there a way to force that sorting?


Customizing the layout can indeed be accomplished with Resharper. Go to:

Resharper->Options->Languages->C#->Formatting Style->Type Members Layout

ReSharper 2017

Resharper -> Options-> Code Editing -> C# -> File Layout -> Interface Implementations/All Other Members

and uncheck the "Use Default Patterns" option.

Now you'll want to edit the xml in the "Custom Patterns" box. I'd recommend copying it out to an editor that can properly hi-light the xml (notepad++ or visual studio should work fine).

Now, find the section near the bottom:

    <!--all other members-->
    <Entry/>

and change it to:

    <!--all other members-->
    <Entry>
      <Match>
        <Kind Is="method"/>
      </Match>
      <Sort>
        <Name/>
      </Sort>
    </Entry>

Now, make sure that your cleanup profile has "Reorder type members", and then right click on the filename in solution explorer and do "Cleanup code...". I've just tried this myself and it does order the methods alphabetically.

If you want to also sort by access type, you can add this under the <Sort> element:

<Access Order="public protected internal private" />

Here's an article to learn more.


Resharper->Options->Languages->C#->File Layout

Select "All other members" and select "Sort by name" (highlighted in bottom right of pic)

Options screen