Как включить выравнивание нескольких объявлений переменных

Я хочу настроить свой формат clang для форматирования этого:

double var1, var2,
    var3, var4;

в это:

double var1, var2,
       var3, var4;

Есть ли способ добиться этого?

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

🤔 А знаете ли вы, что...
Язык C++ поддерживает низкоуровневое программирование, что позволяет работать с аппаратным обеспечением.


96
1

Ответ:

Решено

Как сказано в heap underrun : не объявляйте переменные таким образом. Вы можете прочитать больше об этом, например. в BARR-C:2018 Правило 8:

символ * х, у; // Был ли y также задуман как указатель? Не делай этого.

Стоимость размещения каждой декларации в отдельной строке невелика. К напротив, риск того, что компилятор или сопровождающий непонимание ваших намерений высоко.

При этом: с Clang-Format невозможно делать то, что вы хотите. Еще. И, вероятно, никогда, из-за упомянутого дурного стиля.

Но поскольку вы также спрашивали, можно ли оставить все как есть, можно сделать следующее:

// clang-format off
double var1, var2,
       var3, var4;
// clang-format on

Обратите внимание, что между этими двумя комментариями все форматирование будет отключено. И это будет трудоемко, если вы часто сталкиваетесь с такой ситуацией.

Подробнее об этом можно прочитать в разделе Параметры стиля Clang-Format.