Igo*_*ejc 4 resharper coding-style
当您在构造函数中指定新参数时,Resharper 提供了非常有用的引入和初始化字段 xxx操作,例如:
Constructor (int parameter)
Run Code Online (Sandbox Code Playgroud)
唯一的(小)麻烦是它将新领域放在课程的开头 - 我喜欢将私人部位尽可能远离陌生人的窥视;)。
但是,如果类中已经有一些私有字段,Resharper 会“正确”地将新字段放在这些字段旁边(注意引号,我不想在这个问题上引发激烈的争论),即使它们是在课程结束时。
有没有办法强制 Resharper始终将新字段放在课程末尾?
更新:好的,我忘了提及我了解“选项中的类型成员布局”功能,但是有关如何修改模板以实现字段放置的一些具体帮助会很好。
在“类型成员布局”中,您可以找到并移动以下 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>
Run Code Online (Sandbox Code Playgroud)
到默认图案的底部。基本上,文件底部有两行
<!--HERE-->
</Pattern>
</Patterns>
Run Code Online (Sandbox Code Playgroud)
不幸的是,快速测试表明这不会影响通过您描述的选项创建的新字段,但它会使代码清理将它们移动到正确的位置。(前提是您已开启“重新排序类型会员”)
如果您习惯使用公共字段并且只想将私有字段移动到底部,请将上面的匹配更改为:
<Match>
<And>
<Access Is="private"/>
<Or>
<Kind Is="constant"/>
<Kind Is="field"/>
</Or>
</And>
</Match>
Run Code Online (Sandbox Code Playgroud)
然后,您可以再次复制整个块,将“Access Is”值更改为“public”,并将新的公共块放置在您希望公共字段所在的位置 - 靠近顶部,我猜它最初来自那里。