redhat-developer / redhat-developer/vscode-java

Inconsistency in line break "{}" formatting in Java with in VS Code

未关闭
#3,694 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
TypeScript
星标
2.3k
派生
547
平均合并
20 小时 1 分钟
30 天内合并 PR
11

描述

In my VSC I have the extension called "Language support for java(TM) by red hat". The typical one that all of us who do Java have and this is self-evident. The formatter of said extension does not format correctly. Surely the formatting is taken from LLVM so there is some error or even some incorrect syntax when formatting

When I format in VSC this example code with java or java spring boot:

❌Incorrect - If I format like this, it leaves it like this
This happens on both the opening "{" and the ending "}". It seems that the extra space has no influence since the format accepts both together and extra spacing. When the correct one is the second one with the extra spacing.

Incorrect Preview
image image image
Also say the formatting of the extension also leaves it like this if the code is like this.image

3 incorrect formats accepted by the formatter have been shown. Therefore, if there is any code "in that format", the formatter will leave it that way. Only the correct one is the last one or the one made by Eclipse.
This doesn't make much sense since the code is stuck above or below or even between the curly braces "{}".

This way of formatting is not expected for those of us who work with Java. Eclipse does well in this regard.

✅ correct - This is how Eclipse does it. It doesn't matter how messy the code is. It will leave it like this:

Correct Preview
image

I have tried countless things, none of them worked.

This has worked since 2007 in eclipse. We are in 2024. As an example of a good format:
image

How do you solve this problem and get the correct form, like correct or equal to eclipse?

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

使用报告中的示例和屏幕截图,重现 Java VS Code extension 中大括号和换行的格式化行为,然后将输出与 Eclipse 进行比较。从 extension 的 Java 格式化入口点追踪 formatter 的行为,并确定差异是由配置还是实现导致的。完成标准是:报告中的布局已规范化为预期的 Eclipse 风格结果。

由索引模型根据 Issue 内容生成。

评估

技术栈
java, vscode
领域
tooling
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。