如何在 Eclipse 格式化程序中为二进制操作保留自定义缩进

问题描述

我正在测试 eclipse 格式化程序,以尝试使用与我当前的 Java 编码格式相匹配的内容。但是,我无法找到一个选项来保持字符串连接(二进制操作)的当前缩进。比如我想写这个字符串(SQL查询):

// Current code,I want to keep this format
String query = "select "
            + "a,"
            + "b,"
            + "c,"
        + "from table "
        + "where "
            + "a = 1 "
            + "and b = 2 "
        + "order by c";

所有内容都将以相同的缩进进行包装(我选中了选项从不加入已包装的行

// Formatted code
String query = "select "
        + "a,"
        + "b,"
        + "c,"
        + "from table "
        + "where "
        + "a = 1 "
        + "and b = 2 "
        + "order by c";

我觉得可读性较差。

我看到有一个选项可以关闭部分代码的格式化程序,但我想知道是否有一个内置选项可以满足我的需要。

解决方法

从 Java 15 开始,“文本块”将是最易读的:

String query = """
    select
      a,b,c,from table
     where
      a = 1
      and b = 2
     order by c
     """.replace("\n","");

产生:

select  a,from table where  a = 1  and b = 2 order by c

其中有一些额外的不重要的空格。