在方法声明之后,Java模式似乎是取消缩进而不是缩进。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模式interactive features,C-c C-s
给出了我在错误地格式化后的代码中放入注释的符号,并且C-c C-o
建议了看起来合理的默认值。 (0,+和0按降序排列)
翻看我的.emacs,我看不到任何可能会与cc-mode混淆的东西,所以我有点卡住接下来要调查的方向。声明的unindent小于方法声明的缩进(2“空格”而不是4),所以也许有一些标签/空间的混淆?
版本:Emacs 22.2.1,JDE 2.3.5.1和CC-mode 5.31.5。
试着用'emacs -Q'。仍然看起来像'.emacs'中的东西混乱。另外,检查这个缩进是否实际上是通过制表符,并且制表符宽度有问题。 – doublep 2010-06-19 22:46:58
我同意@doublep - 我试过你的代码片段(没有JDE),并得到你想要的缩进。 – 2010-06-21 15:23:15
在'emacs -Q'开始之后加载相同的文件看起来像我所期待的,所以在'.emacs'中确实很有趣。 cc-mode文档在解决具体问题时没有什么帮助,但我会到达那里。 – MHarris 2010-07-05 18:41:26