我们在Java Conventions [built-in]
项目中使用Eclipse
格式化程序。格式化后,代码按预期显示,并在Eclipse
中查看时正确缩进。
我们注意到,如果我们在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!");
}
这是预期的行为吗?
空格/制表符的屏幕截图
所有字符
答案 0 :(得分:1)
Java Conventions [Built-in]
配置文件使用8个空格作为制表符。
Notepad
使用8个空格,但是Notepad++
(以及我使用过的大多数其他IDE,例如IntelliJ
)使用4个空格。
要解决此问题,请复制配置文件并将制表符间距更改为4
。
或者将Tab Policy
更改为Spaces Only
。我更喜欢这样做,因为我不认为应该使用制表符来分隔空格。这个问题是为什么不应该使用制表符的一个例子。
答案 1 :(得分:1)
默认的Eclipse格式化程序配置文件 Eclipse [内置] 显示标签,其宽度为 4个空格。
相反, Java约定[内置] 显示标签,其宽度为 8个空格。
这是Code Conventions for the Java Programming Language,4 - Indentation给出的(由我突出显示):
应使用四个空格作为缩进单位。最正确 缩进的构造(空格与制表符)未指定。 标签 必须完全每 8个空格(而不是4个)设置。
如今,很少使用带有混合制表符策略且制表符宽度为8个空格的原始Java代码约定。您可以考虑切换到 Eclipse [内置] 格式化程序配置文件。