Javaモードは、メソッド宣言の後にインデントするのではなく、インデントを解除しているようです。
つまり、私はこれを見ることを期待しているということです:
class GoodExample {
public void method() {
allNicelyIndented();
noProblemsHere();
}
}
しかし、代わりにこれを入手してください:
class CrazyIndenting {
public void method() { // ((inclass 134) (topmost-intro 326))
whyIsThisUnindented(); // ((defun-block-intro 379))
itsMessingWithMyHead(); // ((statement 454))
}
}
M-x c-set-style RET java
次にC-x h C-M-\
、バッファ全体にJavaスタイルを使用していることを確認します。
cc-modesのインタラクティブ機能を使用C-c C-s
して、間違った形式のコードの後にコメントに入れた記号を表示し、適切C-c C-o
に見えるデフォルト値を提案します。(ステートメントの降順で0、+、および0)
私の.emacsを見ると、cc-modeを台無しにしている可能性のあるものは何も見当たらないので、次に調査する方向に少し行き詰まっています。ステートメントのインデントはメソッド宣言のインデントよりも小さい(4ではなく2つの「スペース」)ので、タブ/スペースの混乱があるのではないでしょうか。
バージョン:Emacs 22.2.1、JDE2.3.5.1およびCCモード5.31.5。