Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ReSharper 7.1 "To Property with Backing Field" Moving fields out of place

Tags:

I've recently upgraded to R# 7.1 and I'm having this problem where the To Property With Backing Field action displaces my backing fields and moves them to the top of the class.

Example:

Step 1: Define an auto property:

public class MyClass {     //... Lots of members here      public int MyNewProperty {get;set;} // <- Create auto Property } 

Step 2: ReSharper's "To Property With Backing Field"

enter image description here

Expected result:

public class MyClass {     //... Lots of members here      private int _myNewProperty; // <- Backing field immediately above property     public int MyNewProperty      {        get        {            return _myNewProperty;        }        set        {            _myNewProperty = value;        }     } } 

Obtained Result:

public class MyClass {     private int _myNewProperty; // <- Backing field on top of the class      //... Lots of members here       public int MyNewProperty      {        get        {            return _myNewProperty;        }        set        {            _myNewProperty = value;        }     } } 

I've already been playing with Type Members Layout configuration by commenting the "instance fields" part, like this:

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

But I still get the same behavior.

Q: How can I prevent this behavior and revert it to the V6.X one?

like image 201
Federico Berasategui Avatar asked Jul 19 '13 21:07

Federico Berasategui


1 Answers

Here is the comment in Russian from JetBrains developer. The article is devoted to R# 8 release. He said that placing private fields together at the beginning is much more common use case than placing it near property. He advised to open ticket in their feedback system. Moreover, he said that maybe they introduce such setting in version 8.1.
In short, it is not possible now.

like image 66
Vladimir Avatar answered Oct 03 '22 05:10

Vladimir