Resharper清理代码 - 如何影响方法的排序?

时间:2009-10-02 12:31:50

标签: resharper

我有一个定制的清理工作,它几乎就在那里。

但是,R#似乎想要对成员方法进行排序,但至少它看起来不是按字母顺序排列的。

有没有办法强制排序?

3 个答案:

答案 0 :(得分:87)

使用Resharper确实可以完成自定义布局。转到:

Resharper->选项 - >语言 - > C# - >格式化样式 - >类型成员布局

ReSharper 2017

Resharper - >选项 - >代码编辑 - > C# - >文件布局 - >接口实现/所有其他成员

并取消选中“使用默认模式”选项。

现在,您需要在“自定义模式”框中编辑xml。我建议将它复制到一个可以正确点亮xml的编辑器(记事本++或visual studio应该可以正常工作)。

现在,找到底部附近的部分:

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

并将其更改为:

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

现在,确保您的清理配置文件具有“重新排序类型成员”,然后右键单击解决方案资源管理器中的文件名并执行“清理代码...”。我自己尝试了这个,它按字母顺序排列方法。

如果您还想按访问类型排序,可以在<Sort>元素下添加:

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

以下是an article了解详情。

答案 1 :(得分:21)

Resharper-&gt;选项 - &gt;语言 - &gt; C# - &gt;文件布局

选择“所有其他成员”并选择“按名称排序”(在图片右下方突出显示)

Options screen

答案 2 :(得分:0)

在XML文件布局中,您必须添加元素Entry.SortBy 例如在所有其他成员中:

 <Entry DisplayName="All other members">
  <Entry.SortBy>
    <Name />
  </Entry.SortBy>
</Entry>

9.2的问题是当XML中缺少Entry.SortBy时,设计器中的选定值不会保存。