redhat-developer / redhat-developer/vscode-java

Formatter changes/deletes my code

Open
#1,132 15 comments 2 reactions 1 assignee View on GitHub

@snjeza is already working on this.

Since Nov 3, 2020.

bug formatter
Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

I have the following code

class A {
    String get(Client a) {
        return "AC";
    }
}

class B extends A {
    String get(SpecialClient a) {
        return "BS";
    }
}

class C extends B {
} 
    
    
    

    
        
            

        

      
    

    



    

    

I am keeping all the white spaces here in case they could affect the behavior of the formatter.
With the code above, when I try to save in VS Code (I have turned on formatOnSave), the code becomes

class A {
    String get(Client a) {
        return "AC";
    }
}

class B extends A {
    String get(SpecialClient a) {
        return "BS";
    }
}

class C}

            

    
    
    

    

    
        

    

    
        
    

 

         

     

    



      

    
        

or

class A {
    String get(Client a) {
        return "AC";
    }
}

class B extends A {
    String get(SpecialClient a) {
        return "BS";
    }
}


    class
    C extends
    B {
    
    

    
    
    
     

    
    


    
    
        

        
        
     



    

    

Actually, the code changes to something slightly different every time I tried to reproduce this problem.
This is certainly not the first time I encountered this issue, but since I am not a Java developer, I was not quite bothered by this funny bug.

All java-related extensions I installed are Maven for Java, Debugger for Java, Language Support for Java(TM) by Red Hat, Language Extension Pack, and Java Dependency Viewer.

P.S. I didn't quite remember installing the extensions above, it could be the default extensions installed by VS Code when I wrote my first java file there?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.