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 混淆的东西,所以我有点难以找到下一步调查的方向。该语句的缩进小于方法声明的缩进(2 个“空格”而不是 4 个),所以可能存在一些制表符/空格混淆?
版本:Emacs 22.2.1、JDE 2.3.5.1 和 CC-mode 5.31.5。