格式化C#中属性的Resharper支持字段

时间:2010-07-16 16:39:53

标签: c# resharper

所以这是2年前Keith Nicholas提问的后续行动:

Formatting Resharper backing fields for properties in C#

我猜这可能涉及自定义类型成员布局。有没有办法在最新的Resharper版本(截至目前,它是5.1)呢?

4 个答案:

答案 0 :(得分:7)

Version 9.1 has a new option:

Resharper > Options > Code Editing > Place backing field above property

https://youtrack.jetbrains.com/issue/RSRP-411980#comment=27-961304

答案 1 :(得分:1)

在Resharper 6.1中我有这样一个模板,可以解决问题,或者至少帮助别人。

使用'shortuct'+ TAB 组合,我打电话给我的nprop,并进一步添加评论部分。

private $TYPE$ _$NAMEP$;

/// <summary>
/// The $CLASS$ $NAMEC$
/// </summary>
public $TYPE$ $NAME$
{
    get { return _$NAMEP$; }
    set { _$NAMEP$ = value; }
}

这是一个额外的自定义图像,可以帮助重命名,所以只需键入2个值即可。

property with template how-to

答案 2 :(得分:0)

当然,至少在Resharper 5.1.1727中你可以添加如下条目

<!--fields-->
<Entry>
  <Match>
      <Kind Is="field"/>
  </Match>
  <Sort>
    <Static/>
    <Readonly/>
    <Name/>
  </Sort>
</Entry>

到“类型成员布局”,以指示您希望支持字段在类中显示的位置。

例如,如果您希望类底部的字段将该部分插入默认模式部分中的最后一个条目:

  <!--Default pattern-->
  <Pattern>

Resharper 5.1附带一个包含字段的默认条目:

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

以便它不会与您的新规则冲突,从默认条目中删除字段,例如

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

答案 3 :(得分:0)