当前位置: 首页 > 面试题库 >

可以将Eclipse格式化程序配置为在括号之间正确缩进多行吗?

柴彬
2023-03-14
问题内容

可以配置(或扩展)Eclipse格式化程序和代码清除以添加以下示例中期望的缩进:

public static void main(String[] args) {
    String[] numbers = new String[] {
        "one",
        "two",
        "three",
        "four",
    };

    new MessageFormat("{0} {1} {2} {3}").format(
        "this is string one",
        "this is string two",
        "this is string three"
    );

    System.out.println(
        new MessageFormat("{0} {1} {2} {3}").format(
            new String[]{
                "this is string zero",
                "this is string one",
                "this is string two",
                "this is string three"
            }
        )
    );
}

我已经尝试了所有可以找到的设置。“从不连接行”选项使它无法完全屠杀代码,但是即使那样,所有缩进都被剥离了,代码如下所示:

    String[] numbers = new String[] {
    "one",
    "two",
    "three",
    "four",
    };

    new MessageFormat("{0} {1} {2} {3}").format(
    "this is string one",
    "this is string two",
    "this is string three"
    );

    System.out.println(
    new MessageFormat("{0} {1} {2} {3}").format(
    new String[] {
    "this is string zero",
    "this is string one",
    "this is string two",
    "this is string three"
    }
    )
    );

我发现可以关闭此类块的格式化功能,如下所示:

    // @formatter:off
    String[] numbers = new String[] {
        "one",
        "two",
        "three",
        "four",
    };
    // @formatter:on

这是一个不错的解决方法,除了我的代码最终被它们弄乱了,并且代码清除的“正确缩进”部分忽略了该指令并反正弄乱了缩进。

编辑:我找到了“换行”->“换行的默认缩进”和“数组初始化的默认缩进”的设置,并将它们设置为“ 1”,而不是“
0”。这对数组初始化程序更好,但仍不缩进右括号以使开括号与我希望的方式匹配:

public static void main(String[] args) {
    String[] numbers = new String[] {
        "one",
        "two",
        "three",
        "four",
    };

    new MessageFormat("{0} {1} {2} {3}").format(
        "this is string one",
        "this is string two",
        "this is string three"
        );

    System.out.println(
        new MessageFormat("{0} {1} {2} {3}").format(
            new String[] {
                "this is string zero",
                "this is string one",
                "this is string two",
                "this is string three"
            }
            )
        );
}

问题答案:

您是否检查了换行选项卡。如果为“表达式/数组初始化程序”和“函数调用/合格对象分配”参数选择“包装所有元素,换行中的每个元素”,我想您会得到类似的结果



 类似资料:
  • 我正在尝试找到一种方法,使VSCode在我点击括号内的回车键到括号的开头时自动缩进项目,如下所示(类似于这篇文章)。这在Jupyter中运行良好,但我在VSCode中找不到相同的解决方案,也无法在线找到解决方案。有人知道如何通过VSCode中的预设来实现这一点吗?提前致谢。 当前: 渴望的: 编辑 @Shradha 虽然听起来与我正在寻找的内容相似,但您的建议并没有以我正在寻找的方式解决代码问题。

  • 问题内容: 我喜欢这样格式化我的代码: 但是,从我尝试使用Eclipse的源格式开始,看来您不能独立于新的块缩进来指定换行缩进。 有没有一种方法可以在Eclipse中完成? 每个答案,我提交了一个Eclipse增强请求。 问题答案: 我不这么认为。问题是您不能根据上下文将缩进大小更改为不同。因此,为缩进大小选择1会导致所有内容缩进一个空格。可以基于它是否是函数调用来制定单独的包装策略,但是如果是函

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

  • 本文向大家介绍Java正则表达式程序以匹配括号“(”或“)”。,包括了Java正则表达式程序以匹配括号“(”或“)”。的使用技巧和注意事项,需要的朋友参考一下 以下正则表达式接受带括号的字符串- ^匹配句子的开头。 。*匹配零个或多个(任何)字符。 [\\(\\)]匹配的括号。 $表示句子的结尾。 例子1 输出1 输出2 例子2 输出1 输出2

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

  • 问题内容: 在eclipse之外,有没有办法使用eclipse附带的格式化程序?我想使用我使用eclipse配置的formatter.xml文件来格式化一些Java文件。有没有人有任何代码示例可以让我做到这一点?我也想使用这个独立的,所以使用的特定罐子会很好。 问题答案: 显然,您可以从命令行直接调用Eclipse的代码格式化程序。