Emacs C ++ - режим отступа для объявлений функций - PullRequest
0 голосов
/ 16 марта 2011

Стандарты кодирования в моей компании изменились так, что объявление функции

void foo( int a, float* b);

теперь должно быть записано как:

void
foo(int    a,
    float* b);

Где и тип переменной, и имяПеременная должна быть выровнена по вертикали.

Я использую emacs 23.2 с режимом c ++.

Этот режим выстраивает в линию каждый тип переменной, но не позволяет делать отступы для имен переменных, соответствующих,

Есть ли встроенная настройка, позволяющая это сделать?

Если нет, что мне нужно отключить, чтобы позволить мне свободно делать отступы для имен переменных?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Возможно, то, что вы хотите, это M-i (tab-to-tab-stop).

Это переместит курсор к следующей позиции табуляции.Остановки табуляции могут быть сконфигурированы переменной tab-stop-list, которая по умолчанию имеет каждые восемь столбцов.Обратите внимание, что это будет либо вставлять пробелы, либо фактические символы табуляции в зависимости от локальной переменной indent-tabs-mode.(Будьте осторожны, чтобы не перепутать это с tab-width, который влияет на отображение фактических символов табуляции.)

Это не всегда приводит к именам параметров в самом низком столбце, например, вы можете получить

void
foo(int     a,
    float*  b);   // two spaces there

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

1 голос
/ 16 марта 2011

Выберите строки с аргументами, затем M-x align

...