Emacs 缩进C++类方法

Emacs indent for C++ class method?

本文关键字:类方法 C++ 缩进 Emacs      更新时间:2023-10-16

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

当前:

class B
{
public:
    B()
        {
        }
};

但我想要:

class B
{
public:
    B()
    {
    }
};

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

谢谢!

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

(c-set-offset 'inline-open '0)

可能还有其他事情,很难说。CC-Mode 文档有更多选项及其说明,也可能对您有所帮助。

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

(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)

希望对您有所帮助。祝你好运!