google / google/google-java-format

Wrong indentation on if-then with comments

未關閉
#1,009 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Java
星號
6.2k
分支
937
平均合併
6 分鐘
30 天內合併 PR
3

描述

Comments at the end of this `if` makes the `then` block to not get indented.
```
if (prd.source()
.isPresent()) // exclude generated productions like casts
prd = null;
```
![image](https://github.com/google/google-java-format/assets/5113255/80c7017d-27fb-4331-91f4-bee5394f2b60)
Line 331. IntelliJ reports this as well.
I think the problem comes from the if condition that got split into two lines. If I move the comment to a separate line, then indentation works as expected.

貢獻指南

開啟貢獻指南

研究方向

首先檢查第331行附近的 formatter 原始碼,並使用拆分的 if 條件和尾隨註解重現所回報的程式碼片段。追蹤 then 區塊的縮排如何計算,接著為此情況新增或更新涵蓋率,並確認格式化後的輸出是否正確縮排 prd。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
java
領域
tooling
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。