我的Eclipse發生了一些奇怪的事情,我從未記得以前發生過。基本上,如果我有一個很長的語句並將其分成兩行,那麼之後的所有內容都會縮進一個標籤,而不會超出應有的位置。這裏有一個例子:Eclipse自動縮進錯誤地縮進文件
正確的縮進:
public static class Shape {
enum Tetrominoes { NoShape, ZShape, SShape, LineShape, TShape,
SquareShape, LShape, MirroredLShape };
private Tetrominoes pieceShape;
private int coords[][];
private int[][][] coordsTable;
public Shape() {
coords = new int[4][2];
setShape(Tetrominoes.NoShape);
}
public void setShape(Tetrominoes shape) {
}
}
是什麼樣子用Ctrl + A,按Ctrl + I:
public static class Shape {
enum Tetrominoes { NoShape, ZShape, SShape, LineShape, TShape,
SquareShape, LShape, MirroredLShape };
private Tetrominoes pieceShape;
private int coords[][];
private int[][][] coordsTable;
public Shape() {
coords = new int[4][2];
setShape(Tetrominoes.NoShape);
}
public void setShape(Tetrominoes shape) {
}
}
現在,如果我保持這種枚舉在一行和自動縮進它,然後它工作得很好。我剛購買了一臺新筆記本電腦,並在其上放置了新的Eclipse,並且沒有更改任何設置,所以這是默認的自動縮進工作方式。但我記得在我的舊筆記本電腦上,如果我將一個語句分成兩行,那麼之後的所有其他語句仍然會正確對齊?我試着編輯這個問題並重新插入它,但是一旦發佈,它仍然被刪除。我試着把「嘿,夥計們」 「但那也被刪除了。難道SO不相信問候嗎?)
但事情是,我想分割線,以便我可以保持我的代碼足夠小,以適應一半的屏幕。線分裂不是問題,事實上線分裂後的所有縮進都是。 – ProgrammingMakesMeQQ 2012-08-05 16:51:01
@ProgrammingMakesMeQQ,我上面更新了我的答案。如果你不想改變Line Splitting,可以嘗試將enum的結束大括號放在上面的新行上。 – 2012-08-05 16:52:48
真棒,我們剛剛發現,在同一時間大聲笑。我現在可以做到這一點,但這是奇怪的事情。如果你在多行上初始化一個數組(例如int [] array = {1,1,1,\ n 1,1等});那麼你可以在你的結尾數組初始化和自動縮進工作正常。所以對於一個枚舉來說,你必須把新的大括號放在一個新行上才能使縮進工作正常,但對於一個數組,你不必這樣做。 – ProgrammingMakesMeQQ 2012-08-05 16:57:47