3

我正在尝试将 Java 代码格式化程序配置为具有紧凑的格式。我已将策略设置为“必要时换行”,最大线宽为 80,但它要么在不应该换行的地方换行,要么在应该换行的地方不换行......这是我得到的一个例子:

// -------------------------------------------------------------------------80->
public class FormatterTest {
    void test() {
        int i, a = 1, b = 1, c = 1, d = 1;
        i =
                a
                        * b
                        * c
                        * d
                        * (100000000 + 100000000 + 100000000 + 100000000
                                + 100000000 + 100000000 + 100000000 + 100000000 + 100000000);
    }
}
// -------------------------------------------------------------------------80->

我想要什么:

    i = a * b * c * d * (100000000 + 100000000 + 100000000 + 100000000
            + 100000000 + 100000000 + 100000000 + 100000000 + 100000000);

谢谢你的帮助。

4

3 回答 3

1

如果//在行尾添加一个,则可以禁止格式化:

i = a * b * c * d * (100000000 + 100000000 + 100000000 + 100000000 //
        + 100000000 + 100000000 + 100000000 + 100000000 + 100000000);
于 2011-12-08T10:00:30.633 回答
0

我设法在我的 Eclipse 中使用“Java Conventions [built-in]”格式化程序设置将其格式化如下:

public class FormatterTest {
    void test() {
    int i, a = 1, b = 1, c = 1, d = 1;
    i = (a * b * c * d * (100000000 + 100000000 + 100000000 + 100000000
        + 100000000 + 100000000 + 100000000 + 100000000 + 100000000));
    }
}

出于某种原因,整个表达式周围的括号是必不可少的。没有它们,我会得到完全不同的格式。

希望这可以帮助。

于 2011-12-08T11:45:00.713 回答
0

在评论中你说“表情”,有不同种类的表情。检查屏幕截图。我认为它(右侧 eclipse 的示例代码)看起来像你想要的。

希望它是有帮助的。

在此处输入图像描述

编辑

你能试试吗

 expressions-> Assignments :Do not wrap
于 2011-12-08T10:31:24.563 回答