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

How to disable indentation of enum methods?

鉴于:

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

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

(我不想更改非枚举代码的连续缩进)

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

下具有以下配置

为 "class"、"method" 和 "Other" 选择 Next Line 导致 class 的左花括号放在下一行TesttoString() 方法和枚举名称。

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

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