正确处理emacs中Java的@Override缩进

Cal*_*laf 5 java indentation emacs23

如果我的.emacs为空或仅包含行

(require 'cc-mode)
(add-to-list 'c-offsets-alist '(annotation-top-cont .0))

(add-hook 'java-mode-hook
          '(lambda () (c-set-offset 'annotation-top-cont 0)))
Run Code Online (Sandbox Code Playgroud)

而不是保护与@Override对齐

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

相对于@Override而言,protected会出现缩进

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

我应该对我的.emacs进行哪些更改,以便缩进作为上面的顶部示例出现?

Ale*_*Ott 0

查看annotation-top-cont样式的c-offsets-alist定义。要不进行识别,您需要将其设置为 0。更多信息请参阅CC 模式手册