如何配置ReSharper使其对实现接口的类成员按规则重新排列?
如何配置ReSharper使其对实现接口的类成员按规则重新排列?
我太懂你这个烦恼了!明明接口里的成员能按属性在前、方法在后的规则排列,但实现接口的类却死活保持着接口的成员顺序,哪怕单独写类的时候ReSharper能正常帮你排好。别着急,咱们调整下ReSharper的设置就能搞定:
具体操作步骤
- 打开ReSharper的设置面板:点击顶部菜单栏的
ReSharper->Options,或者直接按快捷键Alt+R, O快速打开。 - 定位到代码排列规则:依次展开左侧菜单的
Code Editing→C#→File Layout。 - 修改成员排序优先级:
- 在右侧的布局模板里,找到
Type members这个节点,点击旁边的铅笔图标进入编辑模式。 - 在弹出的编辑窗口中,找到
Property和Method这两个成员类型,把Property拖到Method的上方,确保属性的排序优先级高于方法。 - 另外还要检查一个关键选项:回到
Code Editing→C#→Formatting Style→Arrangement of Members,找到Keep members order as in interface这个选项,把它的勾选去掉——这就是导致类成员跟着接口顺序走的元凶!
- 在右侧的布局模板里,找到
验证效果
设置完之后,回到你的代码文件,按下Ctrl+Alt+F(ReSharper格式化代码的快捷键),或者右键选择ReSharper → Cleanup Code,你就会看到实现接口的类里,成员也会按照属性在前、方法在后的规则重新排列了:
原本的代码:
public class MyClass : IMyClass { public void DoStuff() {} public int MyProperty { get; set; } }
调整后会变成:
public class MyClass : IMyClass { public int MyProperty { get; set; } public void DoStuff() {} }
备注:内容来源于stack exchange,提问作者Peter Poulsen
相关产品推荐
相关产品推荐

