当前位置: 首页 > 知识库问答 >
问题:

Eclipse格式化程序每次都会交替格式(并且不会拆分一行)

侯博易
2023-03-14

Eclipse以一种或另一种方式格式化代码,每次使用时交替地前后翻转特定的代码位。

我在这里做错了什么?

以下是第一种状态:

public static void main(final String[] args) {
    String dir = System.getenv(EtlConstants.ENVVAR_PROPERTIES_DIR);
    if (dir != null
        && ("\\".equals(dir.charAt(dir.length() - 2)) || "/".equals(dir.charAt(dir.length() - 2)))) {
        dir = dir.substring(0, dir.length() - 1);
    }
}

这与这交替:

public static void main(final String[] args) {
    String dir = System.getenv(EtlConstants.ENVVAR_PROPERTIES_DIR);
    if (dir != null
            && ("\\".equals(dir.charAt(dir.length() - 2)) || "/".equals(dir.charAt(dir.length() - 2)))) {
        dir = dir.substring(0, dir.length() - 1);
    }
}
    null

因此,感谢所有使用Ctrl+Shift+F调用格式化程序的人--这打开了一盏灯,因为我意识到我一直在使用Ctrl+S

共有1个答案

邵锐
2023-03-14

同意@tobias_k(抱歉,我不能发表评论)。在CRTL+Shift+F之后。看起来像:

public static void main(final String[] args) {
    String dir = System.getenv(EtlConstants.ENVVAR_PROPERTIES_DIR);
    if (dir != null
            && ("\\".equals(dir.charAt(dir.length() - 2)) || "/".equals(dir
                    .charAt(dir.length() - 2)))) {
        dir = dir.substring(0, dir.length() - 1);
    }
}

eclipse中,格式化选项位于窗口->Preferences->Java->Code Style->Formatter下。显示您正在使用的配置文件,并尝试修改换行选项卡。不确定,但我想您应该修改二进制表达式

更新:

尽管如此。一点都不容易。我不能自动得到你想要的东西。正如上面@tobias_k评论的那样,我也从不使用它。除非代码真的很糟糕。我总是喜欢自己格式化。

 类似资料:
  • 是否有一种方法告诉Eclipse格式化程序,当字符串太长时,它应该用拆分它,以自动适应最大行宽? 例如,如果我的最大行宽是80,我想这样做:

  • 我正在玩我的eclipse格式化程序。 我目前被卡住,无法格式化空的新行。 我知道我可以使用CTRL+SHIFT+F。 但是我希望它在文件保存时自动发生。 下面是另一个例子 此外,我想选择是否应该在ex one结构声明后或在花括号后自动缩进为无空行。

  • 有人可以分享他们的eclipse格式化程序设置文件吗?或者向我指出这样一个文件,它将阻止我的eclipse执行以下操作: 所以我只想把looooooooong代码字符串移到下一行(那些不适合eclipse窗口的字符串),但eclipse几乎对所有字符串都这么做。 提前谢谢!

  • Hprose 序列化拥有 7 种值类型: Integer (32位有符号整型数) Long (无限精度长整型数) Double (float, double or decimal) Boolean UTF8 char (16位 Unicode 字符, UTF-8 格式, 1-3 个字节) Null Empty (空的字符串, 空的二进制数据) 4 种简单引用类型: DateTime Bytes S

  • 我们可以看到格式化就是通过格式字符串得到特定格式: format!("{}", foo) -> "3735928559" format!("0x{:X}", foo) -> "0xDEADBEEF" format!("0o{:o}", foo) -> "0o33653337357" 根据使用的参数类型,同样的变量(foo)能够格式化成不同的形式:X, o 和未指定形式。 这个格式化的功能是通过 t

  • 我正在使用org。日食jdt。果心格式化程序。代码格式化程序类。我对正确设置评论的格式有问题。谁能告诉我应该使用DefaultCodeFormatterConstants中的哪些选项来正确格式化注释块? 我有这样的情况: 我想把它格式化成 甚至如何格式化评论块,就像我的例子一样,这些评论根本没有格式化。