【问题标题】:How to disable indentation of enum methods?如何禁用枚举方法的缩进?
【发布时间】:2018-09-27 00:16:00
【问题描述】:

给定:

public enum Test
{
    ONE
    {
        public String toString()
        {
            return "foo";
        }
    },
    TWO
    {
        public String toString()
        {
            return "bar";
        }
    }
}

IntelliJ IDEA 2018.1 正在缩进包含以下方法的大括号:

public enum Test
{
    ONE
        {
            public String toString()
            {
                return "foo";
            }
        },
    TWO
        {
            public String toString()
            {
                return "bar";
            }
        }
}

我找不到任何代码格式设置来更改此行为。 有没有办法让大括号与枚举常量保持相同的缩进级别?

(我不希望更改非枚举代码的继续缩进)

【问题讨论】:

标签: java intellij-idea enums code-formatting


【解决方案1】:

您问题中显示的格式化输出表明您在Editor > Code Style > Java > Wrapping and Braces下具有以下配置

为“类”、“方法”和“其他”选择Next Line 会导致将左大括号放在类TesttoString() 方法和枚举名称的下一行。

如果我正确理解了您的问题,那么问题在于每个枚举的左大括号的缩进。您可以通过将Continuation Indent 设置为0 来控制Editor > Code Style > Java > Tabs and Indents。例如:

注意:此设置并非特定于枚举;它也会改变其他类型的继续缩进。在 YourTrack 中有一个 open issue 请求支持特定于枚举的连续缩进,但到目前为止该问题没有进展。在实施该问题中请求的更改之前,您将在 IntelliJ 上获得的最接近的结果是根据此答案更改所有类型的连续缩进。

【讨论】:

  • 这对我来说是个问题。我不想在我的其余代码中使用 0 的连续缩进。我会相应地更新我的问题。
  • 在这种情况下,IntelliJ 不支持特定于枚举的连续缩进设置,请参阅@CrazyCoder 的问题下方的评论
  • 好的。请将此说明(和链接)添加到您的答案中,我会将其标记为已接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2013-09-23
  • 2013-04-08
  • 1970-01-01
相关资源
最近更新 更多