Bug Report T747090
Visible to All Users

Formatting – Comments appeared after the invalid code part are duplicated on the save operation

created 6 years ago

Hello DevExpress Support!

I experienced a code duplication if I'm saving a file which has invalid formed statements inside.

All comments appearing after the invalid code part will be duplicated.

example:

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            invalid_code
            // comment
            Console.WriteLine("Hello World!");
        }
    }
}

If you save that with code formatting on save from CodeRush enabled the //comment will be duplicated. If you save it again all two lines of comments will be duplicated and so on.

Steps to reproduce:

  1. Create a new solution with a project (e.g. a .NET Core Console application)
  2. Go to CodeRush settings and enable under Editor->C#->Formatting->Code Cleanup the option "Format document"
  3. Copy the code from above or just write your own code where there are comments below an invalid statement
    => result should be that all comments until the next valid statement is duplicated

Yours sincerely,
Gerald

Comments (1)
AE AE
Alex Eg (DevExpress) 6 years ago

    Hi Gerald,
    Thank you for the detailed explanation. Our formatting engine is intended to work with valid code and calling it on the wrong syntax can cause unexpected behavior. Please give us some time to research the issue and see if we can fix the issue in this case.

    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.