Emacs是否为C++类方法缩进?

fri*_*nkr 5 c++ emacs

出于某种原因,我的emacs缩进了c ++类方法.

当前:

class B
{
public:
    B()
        {
        }
};
Run Code Online (Sandbox Code Playgroud)

但我想要:

class B
{
public:
    B()
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

有人如何在.emacs中制作它?

谢谢!

小智 12

尝试设置inline-open'0.这应该放置一个括号,在同一个缩进级别打开一个类内联方法.例如:

(c-set-offset 'inline-open '0)
Run Code Online (Sandbox Code Playgroud)

也可能还有别的东西,很难说.CC模式文档有更多选项及其描述,可能对您有所帮助.

下面是我的C++样式的示例,它基于您可能感兴趣的Linux编码样式:

(defun vlad-cc-style()
  (c-set-style "linux")
  (c-set-offset 'innamespace '0)
  (c-set-offset 'inextern-lang '0)
  (c-set-offset 'inline-open '0)
  (c-set-offset 'label '*)
  (c-set-offset 'case-label '*)
  (c-set-offset 'access-label '/)
  (setq c-basic-offset 4)
  (setq tab-width 4)
  (setq indent-tabs-mode nil)
)

(add-hook 'c++-mode-hook 'vlad-cc-style)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.祝好运!