#c #c-preprocessor #clang-format
#c #c-препроцессор #clang-формат
Вопрос:
Я столкнулся с проблемой clang-format
. Рассмотрим следующий пример файла заголовка:
#ifdef __cplusplus
extern "C" {
#endif
void foo(int x);
void foo2(int y);
#define FOO 2
#define BAR 3
void bar(int z);
#ifdef __cplusplus
}
#endif
Я хотел бы сделать отступ defines ( FOO
и BAR
) на том же уровне, что и объявления. Есть ли способ сделать это с clang-format
помощью?
Желаемый результат:
#ifdef __cplusplus
extern "C" {
#endif
void foo(int x);
void foo2(int y);
#define FOO 2
#define BAR 3
void bar(int z);
#ifdef __cplusplus
}
#endif
Комментарии:
1. Я считаю, что некоторые инструменты (??… не могу вспомнить ни одного прямо сейчас) нужен только
#
столбец 12. Интересно, никогда не сталкивался с такой проблемой. Было бы любопытно узнать больше, если у кого-нибудь есть более подробная информация об этом
3. В ранних стандартах C
#
символ должен был располагаться слева.4. Я заснул с
#
мыслями о том, что проснулся, не имея ни малейшего представления о том, почему я сохраняю его в столбце 1… просто неприятное чувство по поводу какого-то инструмента (может быть, это был плохо написанный скрипт?)… когда я хочу сделать отступ в строках предварительной обработки, я помещаю пробелы между#
и остальными…# define OCTOTHORPE 35
5. @pmg Это выглядит как приемлемая альтернатива! Есть ли способ достичь этого в формате clang?