Android Studio / IntelliJ 匿名类格式

Hyn*_*man 6 code-formatting intellij-idea anonymous-class android-studio

我想知道是否可以更改 Android Studio 中的自动格式,将匿名类的大括号放置在同一行,同时仍将常规类、方法和块的大括号放置在新行上。

目前,IntelliJ 给了我这个结果:

class TestClass
{
    public void test()
    {
        FooBar foo = new FooBar(new Runnable() // I want the brace here...
        { // ...not here.
            @Override
            public void run()
            {
                //
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望代码的格式如下:

class TestClass
{
    public void test()
    {
        FooBar foo = new FooBar(new Runnable() { // <- Same Line
            @Override
            public void run()
            {
                //
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了一个细节,即我无法像第二个示例中那样格式化大括号。这是不可能的还是我只是忽略了设置?

hud*_*onb 5

我也想要这个很久了,但不幸的是,这在 Intellij 中是不可能的。

最接近的方法是将换行和大括号/大括号放置/在类声明中设置为“如果换行则下一行”或“行尾”(我使用的)。当然,这不仅修改了匿名内部类(期望的结果),而且还修改了顶级和内部类的大括号包装方式;但是,方法/if/else/for/while/do-while/try/catch/finally/switch 等不受影响。

我真的希望 IntelliJ 能够像 Eclipse 一样添加一个 Wrapping 和 Braces/Braces Placement/In 匿名类声明选项。