Resharper:如何强制在课程底部引入新的私人领域?

时间:2009-05-13 15:30:40

标签: coding-style resharper

当您在构造函数中指定新参数时,Resharper会提供非常有用的 引入和初始化字段xxx 操作:

Constructor (int parameter)

唯一(次要的)滋扰是它把新场放在课堂的开头 - 而且我喜欢把私人部分尽可能地远离陌生人的窥探;)。

但是,如果你在课堂上已经有了一些私人领域,那么Resharper将把这个新领域“正确”(注意引号,我不想对这个问题展开一场火焰战争)旁边的那些,甚至如果他们在课程结束时。

有没有办法强制Resharper 总是在课程结束时添加新字段?

更新:好的,我忘了提及我知道“选项中的类型成员布局”功能,但是如何修改模板以实现字段放置的一些具体帮助将是不错的。

3 个答案:

答案 0 :(得分:4)

在“类型成员布局”中,您可以找到并移动以下XML块

<!--fields and constants-->
<Entry>
  <Match>
    <Or>
      <Kind Is="constant"/>
      <Kind Is="field"/>
    </Or>
  </Match>
  <Sort>
    <Kind Order="constant field"/>
    <Static/>
    <Readonly/>
    <Name/>
  </Sort>
</Entry>

默认模式的底部。基本上两行代表文件的底部

    <!--HERE-->

  </Pattern>      
</Patterns>

不幸的是,快速测试显示这不会影响通过您描述的选项创建的新字段,但它会使代码清理将它们移动到正确的位置。 (如果您已启用“重新排序类型成员”)


如果您习惯使用公共字段,并且只想将私有字段移到底部,则将上面的匹配更改为:

<Match>
  <And>
    <Access Is="private"/>
    <Or>
      <Kind Is="constant"/>
      <Kind Is="field"/>
    </Or>
  </And>
</Match>

然后你可以再次复制整个块,将“Access Is”值更改为“public”并将新公共块放在你希望公共字段去的任何地方 - 靠近顶部,它来自最初的我猜测。

答案 1 :(得分:0)

在Resharper选项中使用自定义“类型成员布局”。

在XML布局定义的“默认模式”部分中,只需移动将字段分组到条目末尾的条目元素,方法,事件,属性等。

答案 2 :(得分:0)

如果您还没有,您应该在ReSharper Jira网站上提交错误报告:

http://www.jetbrains.net/jira/browse/RSRP

首先看一下是否有人已经报告了此情况。如果是这样,您可以就其问题进行投票,并在收到任何更改时收到通知。