Eclipse格式化程序:如何对齐我的方法中的代码

6

在公共类中,ctrl+shift+F命令可以正常工作。 但是该命令在方法内部无法正常工作,例如=号对齐有问题。为什么呢?如何解决这个问题?

public class myClass extends ActivityInstrumentationTestCase2 {
    public static boolean       myVar                            = true;
    private static final String TARGET_PACKAGE_ID                = "com.xxxx.test";
    private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.xxxx.test";
    private static Class        launcherActivityClass;

...
...
private String getOnScreeninfoByType() {
        ArrayList<TextView> textViews = new ArrayList<TextView>();
        ArrayList<Button> listButtons = new ArrayList<Button>();
        ArrayList<ToggleButton> listToggleButtons = new ArrayList<ToggleButton>();
        ArrayList<EditText> listEditTexts = new ArrayList<EditText>();
        ArrayList<CheckBox> listCheckBoxes = new ArrayList<CheckBox>();
        ArrayList<RadioButton> listRadioButtons = new ArrayList<RadioButton>();
        ArrayList<ImageButton> listImageButtons = new ArrayList<ImageButton>();
        ArrayList<ImageView> listImageViews = new ArrayList<ImageView>();
        ArrayList<ProgressBar> listProgressBars = new ArrayList<ProgressBar>();
...

    }

谢谢

2个回答

5

首选项 > Java > 代码样式 > 格式化程序 > 编辑 > 缩进 中有一个选项可以 将字段对齐到列中。如果选中了此选项,则类中的字段将按您所看到的方式对齐。但是,我无法找到任何 对齐局部变量 或类似选项。似乎没有选项可以将局部变量对齐到列中。


1
同样的问题,我也找不到任何与方法对齐的东西。 - Dan W

1

它们没有对齐是因为它们不应该对齐!
类中的特殊对齐可能是由创建该项目的人设置的特殊非标准格式规则引起的。 在Eclipse的项目设置中查找“代码格式化程序”(或类似选项)。


1
为什么它们不应该对齐呢?我的意思是,代码会更加清晰易读吧? - Franck
2
不是这样的。在嵌套循环中,这会导致行长度大于100。也不是不可能的。代码比变量声明更复杂。 - AlexWien
我的代码中只有几个嵌套循环,而且由于一些程序员拥有22英寸以上的显示器,所以超过100行长度的代码并不是真正的问题。 - dieter
@dit 即使不对齐,您很容易超过120限制。因此,对齐局部变量只是一个坏主意。 - AlexWien
@AlexWien,我的限制现在是300。我经常通过使用formatter:off来对齐本地变量,所以你不能告诉我们这是一个坏主意,因为这是品味问题... - dieter
1
一个限制为300的值远远不符合行业标准,是谁设定了这个限制?是你自己吗?那么300的值也是一个糟糕的想法。你有没有想过为什么报纸有多列而电子书没有?一旦你找到答案,你就会知道为什么300不是一个好主意。如果你在公司工作,一个300的值应该会引起某人的警觉。考虑重构你的代码,也许它太嵌套了。 - AlexWien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接