You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ 2022.2.3如何格式化Lombok与Stream代码实现换行缩进?

实现IntelliJ中Java链式调用的格式化配置

你的需求完全可以通过IntelliJ 2022.2.3的代码格式化配置实现,具体步骤如下:

原始代码

TestDTO.builder().date(Date.from(Instant.now())).productName("product " + i).total(new BigDecimal(i)).purchaseType(1).sourceAppId("sourceAppId" + i).numberOfLicense(i).build();
List.of("a", "bb", "cccc").stream().filter(Objects::nonNull).filter(s -> s.length() > 1).collect(Collectors.toList());

期望格式化效果

TestDTO.builder()
          .date(Date.from(Instant.now()))
          .productName("product " + i)
          .total(new BigDecimal(i)).purchaseType(1)
          .sourceAppId("sourceAppId" + i)
          .numberOfLicense(i)
          .build();
List.of("a", "bb", "cccc").stream()
            .filter(Objects::nonNull)
            .filter(s -> s.length() > 1)
            .collect(Collectors.toList());

配置步骤

  1. 打开IntelliJ设置:按下Ctrl+Alt+S(Windows/Linux)或Cmd+,(Mac)。
  2. 导航到Editor > Code Style > Java,切换到Wrapping and Braces标签页。
  3. 在列表中找到Chained method calls区域:
    • 将Wrap call chain设置为Wrap always(强制每个链式调用方法单独换行);
    • 勾选Align when multiline,让后续的方法调用对齐到第一个.的位置,和你期望的缩进样式一致;
    • 若希望短方法可与前一个同行,也可选Wrap if long,但Wrap always会严格实现每个方法换行。
  4. 点击Apply保存配置,再按下Ctrl+Shift+L格式化代码,即可得到目标效果。

注:你例子中.total(...)和.purchaseType(1)同行的情况属于手动调整的例外场景,默认配置会让所有链式方法单独换行,若需要这种特殊排版,格式化后手动调整即可。

内容的提问来源于stack exchange,提问作者OTUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:15:34