Отступ Emacs для метода класса C++?

По какой-то причине мой emacs делает неверный метод класса C++.

Текущий:

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

Но я хочу:

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

Кто-нибудь, как сделать это в.emacs?

Спасибо!

1 ответ

Решение

Попробуйте установить inline-open в '0, Это должно поставить скобку, которая открывает встроенный метод в классе на том же уровне отступа. Например:

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

Тут тоже может быть что-то еще, трудно сказать. Документ CC-Mode имеет больше опций и его описание, которое также может быть полезным для вас.

Ниже приведен пример моего стиля 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)

Надеюсь, поможет. Удачи!

Другие вопросы по тегам