Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

regression of issue #1008 on idea-plugin

未关闭
#1,271 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
java
领域
tooling

调研方向

未指定任何仓库文件或测试。首先使用 idea-plugin 1.27.0 重现 Java 21 的 switch 示例,并将其格式化结果与 CLI 进行比较;当插件能够与 CLI 一致地处理 case null, default,且不再需要 workaround 时,即视为完成。

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

描述

IntelliJ

Previously, when Issue #1008 was reported, it was resolved.

However, with the recent update to the idea-plugin to version 1.27.0, this issue resurfaced.

This piece of code:

switch (value) {
      case 0 -> "it was 0";
      case 1 -> "it was 1";
      case 2 -> "it was 2";
      case null, default -> "unexpected value";
    };

Works fine with the CLI version of google-java-formatter, but will fail for the idea-plugin version of google-java-formatter.

The only solution is to revert the above switch pattern into

      case null -> "null value";
      default -> "unexpected value";

A simple class to allow easy testing of this

public class Test {
    public static void main(String[] args) {
        Object obj = null; // or some other object
        String result = switch (obj) {
            case null, default -> "handled";
        };
        System.out.println(result);
    }
}

JDK Used: https://adoptium.net/en-GB/temurin/releases/?version=21

主要语言
Java
星标
6.2k
派生
936
平均合并
6 分钟
30 天内合并 PR
3

贡献指南

打开贡献指南

从这里开始

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

google/google-java-format 的其他 Issue

查看 google/google-java-format 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

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