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 interactive features,C-c C-s给出了我在错误格式的代码后面添加的注释符号,C-c C-o建议使用看起来合理的默认值。(语句降序排列为0、+和0)
查看我的.emacs,我看不到任何可能与cc-mode打交道的东西,所以我有点卡住了,无法找到下一步要调查的方向。语句的un缩进小于方法声明的缩进(2个“空格”而不是4个),所以可能有一些制表符/空格的混淆?
版本: Emacs 22.2.1、JDE 2.3.5.1和CC-mode 5.31.5。
发布于 2010-06-21 17:14:27
尽管我不确定是什么导致了JDEE的问题,但我可以建议您尝试使用malabar-mode。它是Emacs中唯一结合了现代元素(例如与maven和groovy集成)的Java模式,并且正在积极开发中……
除此之外,我非常确定基本的Java缩进在JDEE(甚至是较旧的java模式)下工作得很好,所以问题可能是由您的配置引起的(我猜特别是cc模式的配置)。
https://stackoverflow.com/questions/3077208
复制相似问题