Skip to content

Java Formatter is broken somehow in my workspace #2717

Open

Description

@ziroc

So I played around trying to use a custom formatter for Java. At some point my workspace broke and now I cannot format any Java code.
I tried to remove every setting related to formatting. I used "clean the Java language server workspace"
I deleted workspace caches in %userprofile%\AppData\Roaming\Code

Nothing works. Now I get the window "There is no formatter for Java installed" whenever I try to format some Java file.

I tried to set up a formater again. I added the file, used these settings:
"java.format.settings.url": ".vscode/GoogleStyle.xml",
And now I can run "Open Java Formatter Setting Wth Preview ", but I still cannot format my code.

Also I created another small project with one Java file and there the formatter works.

Environment
  • Operating System: Windows 11
  • JDK version: 11 and 17
  • Visual Studio Code version: 1.71.2
  • Java extension version: 1.11.0

Activity

  1. jdneo commented on Oct 8, 2022

    @jdneo
    Collaborator
  2. CsCherrYY commented on Oct 8, 2022

    @CsCherrYY
    Contributor

    Now I get the window "There is no formatter for Java installed" whenever I try to format some Java file.

    two possible reasons:

    1. java.format.enabled is set to false
    2. The java extension is not activated yet or failed to activate. You can check (hover on) the language status in the status bar when you open a java file:

    image

  3. ziroc commented on Oct 10, 2022

    @ziroc
    Author

    Yes, I suspect the Java extension is not properly activated, but I cannot find exactly the problem. It seems to recognize maven projects, java files, method outlines inside files, etc.

    image

    image

  4. CsCherrYY commented on Oct 11, 2022

    @CsCherrYY
    Contributor

    I can see some diagnostics with Java type in your screenshot, and they should be reported by java extension. Can you use other features, such as go to definition and trigger auto completion (ctrl+space)? Or a sample project would be very helpful.

  5. ziroc commented on Oct 11, 2022

    @ziroc
    Author

    Ctrl+click works on most things, not everything. Auto completion also works.
    But I cannot use formatters still.

    Sorry I cannot provide the project that has this problem. On smaller test projects, there is no issue.
    I looked at the Java language server logs, and there is this persistent error - on every opening of the project:

    !ENTRY org.eclipse.jdt.ls.core 4 0 2022-10-04 17:05:47.731
    !MESSAGE Offset > length: 1039 > 757
    !STACK 0
    org.eclipse.jface.text.BadLocationException: Offset > length: 1039 > 757
    	at org.eclipse.jface.text.ListLineTracker.getLineNumberOfOffset(ListLineTracker.java:141)
    	at org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:155)
    	at org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:872)
    	at org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:156)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.convertRange(WorkspaceDiagnosticsHandler.java:425)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnostic(WorkspaceDiagnosticsHandler.java:399)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.lambda$3(WorkspaceDiagnosticsHandler.java:383)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnosticsArray(WorkspaceDiagnosticsHandler.java:385)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:324)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:239)
    	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer$2.run(JDTLanguageServer.java:275)
    	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    
    !ENTRY org.eclipse.core.jobs 4 2 2022-10-04 17:05:47.731
    !MESSAGE An internal error occurred during: "Initialize workspace".
    !STACK 0
    java.lang.NullPointerException: Cannot load from int array because "startPos" is null
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.convertRange(WorkspaceDiagnosticsHandler.java:426)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnostic(WorkspaceDiagnosticsHandler.java:399)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.lambda$3(WorkspaceDiagnosticsHandler.java:383)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.toDiagnosticsArray(WorkspaceDiagnosticsHandler.java:385)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:324)
    	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.publishDiagnostics(WorkspaceDiagnosticsHandler.java:239)
    	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer$2.run(JDTLanguageServer.java:275)
    	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    
  6. sivo1981 commented on Nov 26, 2025

    @sivo1981

    I have exact problem in workspace with multi folder, java formatting is not working. If i open same folder in new VS window it works as expected.

    {
      "editor.formatOnSave": true,
      "java.format.settings.url": "eclipse-formatter.xml"
    }
    
  7. willivolt commented on May 12, 2026

    @willivolt

    I am seeing the same behavior as @sivo1981. The formatter does not work in a multi-folder workspace, but does work is I open a single folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions