4

我想知道是否可以在Android Studio中更改自动格式化,以便将匿名类的花括号放在同一行上,同时仍然为常规类,方法放置花括号并在一条新的线路上阻塞。Android Studio/IntelliJ匿名类格式化

目前的IntelliJ是给我这样的结果:

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

不过,我想代码使用此格式:

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

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

+0

可能重复的http://stackoverflow.com/questions/21313388/stop-intellij-android-studio-preview-adding-newlines-when-formatting-anonymous – pyus13

+0

@ pyus13我看到这个线程之前,我张贴,它是不是我想要的。我希望IntelliJ在左括号之前停止插入换行符,而不是在右括号之前插入换行符。 – Hyneman

+0

你能否介绍一下intellij给出的内容以及你想要的格式? – pyus13

回答

3

我也想这很长一段时间,但不幸的是它不可能在Intellij。

最接近你可以来设置包装和大括号/大括号安置/在类声明“下一行如果包裹”或“行结束”(我使用)。这当然会修改大括号不仅包含匿名内部类(所需结果),而且还包含顶级和内部类;然而,方法/ if/else/for/while/do-while/try/catch/finally/switch等不受影响。

我真的希望IntelliJ会添加一个Wrapping和Braces/Braces Placement /在像Eclipse这样的匿名类声明选项中。