Bug Report T688259
Visible to All Users

Formatting - Wrong indentation of constrictor initializer arguments

created 6 years ago (modified 6 years ago)

I'm having a tough time tracking down the setting to change how spacing and wrapping is done when calling base with the Constructor Initializer.

In C# -> Formatting -> Wrapping I have the Constructor Initializer set to Wrap colon: Wrap if long or multiline before. Align by: Declaration Indent 1.

The result:

C#
protected ProcessingViewModel(IUnitOfWorkFactory<IRequestEntitiesUnitOfWork> unitOfWorkFactory = null) : base( unitOfWorkFactory ?? UnitOfWorkSource.GetUnitOfWorkFactory(), x => x.Requests, x => x.Name) { ... }

The negative indentation on the parameters for base is what is throwing me. If I use CodeRush's Break Apart Arguments, it gives me the desired indentation.

C#
protected ProcessingViewModel(IUnitOfWorkFactory<IRequestEntitiesUnitOfWork> unitOfWorkFactory = null) : base( unitOfWorkFactory ?? UnitOfWorkSource.GetUnitOfWorkFactory(), x => x.Requests, x => x.Name) { ... }

But as soon as I run CodeCleanup again, it goes to the negative indentation.

I'm probably missing something right in front of me, but if you can point me in the right direction I'd appreciate it.

Comments (3)
DevExpress Support Team 6 years ago

    Hi,

    Thank you for your code sample.

    I have reproduced this issue with incorrect indentation on my side. It is caused by the "Wrapping\Arguments" formatting option. Setting this option to "Align by: Expression, Indent: 1" corrupts the indentation of constructor initializer arguments. We are working on this issue and will inform you of our progress.

      Thank you for looking into this.

      DevExpress Support Team 6 years ago

        You are welcome.

        Answers approved by DevExpress Support

        created 6 years ago

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.