簡體   English   中英

Eclipse 自動縮進錯誤縮進文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM