【发布时间】:2017-02-08 14:47:00
【问题描述】:
在一个类中添加太多字段会变得像这样一团糟:
private static final int UNAVAILABLE = -1;
private static final int EXTERNAL_BUFFER_SIZE = 4000 * 4;
private static final int SKIP_INACCURACY_SIZE = 1200;
private Thread thread = null;
private Object dataSource;
private AudioInputStream audioInputStream;
private AudioInputStream encodedAudioInputStream;
private int encodedAudioLength = -1;
private AudioFileFormat audioFileFormat;
private SourceDataLine sourceDataLine;
我希望 Eclipse 重新格式化代码并使其更易于阅读,因此我修改了默认格式化程序并实现了这一点:
private static final int UNAVAILABLE = -1;
private static final int EXTERNAL_BUFFER_SIZE = 4000 * 4;
private static final int SKIP_INACCURACY_SIZE = 1200;
private Thread thread = null;
private Object dataSource;
private AudioInputStream audioInputStream;
private AudioInputStream encodedAudioInputStream;
private int encodedAudioLength = -1;
private AudioFileFormat audioFileFormat;
private SourceDataLine sourceDataLine;
但是还是很乱,我找不到如何进一步修改编辑器来实现这个(你可以看到static的区别)
(找到了这段代码here,我认为可以更好地为final创建一个空列):
Eclipse 中编辑器的图像:
我该怎么做?
【问题讨论】:
-
第一个念头是“切换到COBOL”,不过我能理解。然而,即使是 0.01% 的 Java 程序员同行也不会经历过这样的格式化并欣赏它。如果您想与其他人一起工作,最好使用简陋的 java 代码。
-
@Joop Eggen 这对眼睛来说既清晰又漂亮。对于通常的代码,我必须打开搜索窗口:)。
-
“修改标签导致代码还包含 JavaFX 类。” 如果只有您要格式化的代码包含 JavaFX 类,但不包含格式化程序,而您不是试图为 JavaFX 类实现一些特殊格式,
javafx标记在这里会产生误导,因为如果代码包含ObjectProperty<Color>或List<BigInteger>无关紧要。 -
这可能远非微不足道。我只是摆弄这个。选择一个变量声明块并使用专用菜单命令格式化它们(“很好”!)的选项可能是合理的。无论如何,都存在未解决的问题:
int final x=3; final int y=3;应该发生什么。修饰符是否应该重新排序?但是对于 真正的 格式化程序,必须深入研究git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/… 等。我试过了,但是......没有任何机会到达那里。