Bug Report T871663
Visible to All Users

Formatting - A single line comment is duplicated and wrapped in C# switch statements if it is initially positioned at the end of a code line

created 5 years ago (modified 5 years ago)

Consider the snippet below:

C#
// calculate price of a component based on the calculation units; length, surface or item switch (prp.CalculationUnit) { /* * Block comments don't suffer */ case ComponentCalculationUnit.lenght: // single line comment that gets thrown around sizingFactor = component.OutlineSize.Width * 0.001; break; // another single line comment that gets mangled case ComponentCalculationUnit.surface: sizingFactor = component.OutlineSize.Width * component.OutlineSize.Height * 0.000001; break; }

After applying formatting rules to this code it looks like this:

C#
// calculate price of a component based on the calculation units; length, surface or item switch (prp.CalculationUnit) { /* * Block comments don't suffer */ case ComponentCalculationUnit.lenght: // single line comment that gets thrown around // single line comment that gets thrown around sizingFactor = component.OutlineSize.Width * 0.001; break; // another single line comment that doesn't get mangled case ComponentCalculationUnit.surface: sizingFactor = component.OutlineSize.Width * component.OutlineSize.Height * 0.000001; break; }

The single line comment should actually stay in place, but instead three unintended things happen

  1. The comment gets repositioned below the line of code it's meant to clarify
  2. The comment gets duplicated
  3. Indentation is lost.

Note: Please find my current coderush settings attached to ease reproduction attempts.
Note: I manually fixed another issue in the second snippet for which I filed a different ticket HERE

Comments (1)
PW PW
Przemyslaw Wlodarczak (DevExpress) 5 years ago

    Thank you for the settings. I reproduced these issues. We will notify you here when we fix them. Please bear with us.

    Answers approved by DevExpress Support

    created 5 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.

      Show previous comments (2)
      PW PW
      Przemyslaw Wlodarczak (DevExpress) 5 years ago

        I am looking forward to hearing your feedback.

          Hi Przemyslaw,

          After applying the patch this issue seems to be solved. I did find a few other imperfections, but those i'm able to live with. When I find the time, I'll report them separately.

          PW PW
          Przemyslaw Wlodarczak (DevExpress) 5 years ago

            Thank you for letting us know! Do not hesitate to report any problems. We will be happy to fix them all.

            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.