如何禁用枚举方法的缩进?

时间:2018-04-17 06:20:45

标签: java intellij-idea enums code-formatting

假设:

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";
            }
        }
}

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

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

1 个答案:

答案 0 :(得分:1)

问题中显示的格式化输出意味着您在Editor > Code Style > Java > Wrapping and Braces

下有以下配置

enter image description here

选择Next Line" class","方法"和"其他"导致开头大括号放在类TesttoString()方法和枚举名称的下一行。

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

enter image description here

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