如何为Java多捕获换行包配置IntelliJ代码格式?

问题描述 投票:0回答:1

我正在寻找一种方法来为Java配置我的IntelliJ Ulitmate代码格式化程序。我正在寻找一个选项来强制在多捕获语句中处理的异常列表之间的换行符,例如以便

} catch(IOException | IllegalArgumentException ex) {
    ...
}

验证失败了

} catch(IOException
        | IllegalArgumentException ex) {
    ...
}

经过。

其中包括物业

enter image description here enter image description here

和示例代码

/*
 * This is a sample file.
 */

public class ThisIsASampleClass
        extends C1
        implements I1, I2, I3, I4,
        I5 {

    private int f1 = 1;

    private String field2 = "";

    public void foo1(int i1, int i2,
            int i3, int i4, int i5,
            int i6, int i7) {
    }

    public static void longerMethod()
            throws Exception1,
            Exception2, Exception3 {
        // todo something
        int i = 0;
        int[] a = new int[] { 1, 2,
                0x0052, 0x0053,
                0x0054 };
        int[] empty = new int[] {};
        int var1 = 1;
        int var2 = 2;
        foo1(0x0051, 0x0052, 0x0053,
                0x0054, 0x0055,
                0x0056, 0x0057);
        int x = (3 + 4 + 5 + 6) * (7
                + 8 + 9 + 10) * (11
                + 12 + 13 + 14
                + 0xFFFFFFFF);
        String s1, s2, s3;
        s1 = s2 = s3 =
                "012345678901456";
        assert i + j + k + l + n + m
                <= 2 : "assert description";
        int y = 2 > 3 ? 7 + 8 + 9 :
                11 + 12 + 13;
        super.getFoo()
                .foo()
                .getBar()
                .bar();

        label:
        if (2 < 3) {
            return;
        } else if (2 > 3) {
            return;
        } else {
            return;
        }
        for (int i = 0;
             i < 0xFFFFFF; i += 2) {
            System.out.println(i);
        }
        while (x < 50000) {
            x++;
        }
        do {
            x++;
        } while (x < 10000);
        switch (a) {
            case 0:
                doCase0();
                break;
            default:
                doDefault();
        }
        try (MyResource r1 = getResource();
                MyResource r2 = null) {
            doSomething();
        } catch (Exception e) {
            processException(e);
        } finally {
            processFinally();
        }
        do {
            x--;
        } while (x > 10);
        try (MyResource r1 = getResource();
                MyResource r2 = null) {
            doSomething();
        }
        Runnable r = () -> {
        };
    }

    public static void test()
            throws Exception {
        foo.foo()
                .bar("arg1", "arg2");
        new Object() {

        };
    }

    class TestInnerClass {

    }

    interface TestInnerInterface {

    }
}

enum Breed {
    Dalmatian(),
    Labrador(),
    Dachshund()
}

@Annotation1
@Annotation2
@Annotation3(param1 = "value1", param2 = "value2")
@Annotation4
class Foo {

    @Annotation1
    @Annotation3(param1 = "value1", param2 = "value2")
    public static void foo() {
    }

    @Annotation1
    @Annotation3(param1 = "value1", param2 = "value2")
    public static int myFoo;

    public void method(@Annotation1
    @Annotation3(param1 = "value1", param2 = "value2")
    final int param) {
        @Annotation1
        @Annotation3(param1 = "value1", param2 = "value2")
        final int localVariable;
    }
}

我甚至没有看到这个功能的意识。是否有格式化程序的第二个隐藏配置?

我在Ubuntu 18.10上使用IntelliJ IDEA 2018.3.5(终极版)。

intellij-idea configuration code-formatting
1个回答
2
投票

目前,这是不可能的。随意投票给YouTrack的相关请求:https://youtrack.jetbrains.com/issue/IDEA-178941

© www.soinside.com 2019 - 2024. All rights reserved.