[英]Eclipse auto-indent incorrectly indents file
我的 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 的新副本並且沒有更改任何設置,所以這就是默認自動縮進的工作方式。 但是我記得在我的舊筆記本電腦上,如果我將一條語句分成兩行,那么之后的所有內容仍然會正確對齊嗎?
(同樣在這篇文章的開頭,我輸入了“嘿,伙計們”,但看起來 StackOverflow 自動刪除了它?我嘗試編輯問題並重新插入它,但它仍然在發布后被刪除。我嘗試輸入“嘿,”但是那得到了也刪除了。所以不相信問候語嗎??)
我能夠重現該問題。
似乎枚舉的結尾括號使 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 + Shift + F),然后更正縮進(Ctrl + A 和 Ctrl + I)。 格式化代碼時,您會注意到 Eclipse 還將結束大括號放在下一行而不是 Enum 常量主體旁邊。
我正在使用格式化程序。 我刪除並重新導入它。 這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.