0

我们正在为我们的项目使用Java Conventions [built-in]格式化程序。EclipseEclipse.

我们注意到的是,如果我们在Notepad++(或其他应用程序)中打开文件,缩进实际上是不正确的。例如,方法主体与方法具有相同的缩进。此外,如果从中复制代码Eclipse,则缩进不正确。

示例 1

Eclipse

class Example {

    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

Notepad++

class Example {

public static void main(String args[]) {
    System.out.println("Hello World!");
}
}

示例 2

Eclipse

public static void main(String args[]) {
    System.out.println("Hello World!");
}

Notepad++

public static void main(String args[]) {
System.out.println("Hello World!");
}

这种行为是预期的吗?

空格/制表符的屏幕截图

在此处输入图像描述

所有角色

在此处输入图像描述

4

2 回答 2

1

默认的 Eclipse 格式化程序配置文件Eclipse [Built-in]显示宽度为 4 个空格的选项

相比之下,Java 约定 [Built-in]显示宽度为 8 个空格的选项

这是由Java 编程语言的代码约定给出的,4 - 缩进如下(由我突出显示):

应使用四个空格作为缩进单位。缩进的确切结构(空格与制表符)未指定。 必须每8 个空格(而不是 4 个)精确设置制表符。

如今,很少使用带有混合制表符策略和制表符宽度为 8 个空格的原始 Java 代码约定。您可以考虑切换到Eclipse [Built-in]格式化程序配置文件。

于 2019-09-17T15:38:03.173 回答
1

Java Conventions [Built-in]配置文件使用 8 个空格作为制表符。

Notepad使用 8 个空格,但Notepad++(以及我使用过的大多数其他 IDE IntelliJ)使用 4 个空格。

要解决此问题,请复制配置文件并将制表符间距更改为4.

或者Tab Policy可以更改为Spaces Only。我更喜欢这个,因为我不觉得制表符应该用于间距。这个问题是为什么不应该使用制表符的一个例子。

于 2019-09-17T14:33:56.913 回答