2016-06-27 1 views
2

В нашем проекте мы иногда инициализируем массивы на одной строке, и иногда мы инициализируем их как блоки. Этоclang-format, array initialisers

strings::UniChar const s[] = {'H', 'e', 'l', 'l', 'o'};

против

strings::UniChar const s[] = 
{ 
    'H', 
    'e', 
    'l', 
    'l', 
    'o' 
};

Я хотел бы clang-format, чтобы иметь возможность различать между этими двумя типами, а не превратить второй в первый или выровнять элементы после открывающей скобки , Это не так:

strings::UniChar const s[] = {'H', 
           'e', 
           'l', 
           'l', 
           'o'};

Есть ли способ достичь этого с помощью файлов конфигурации?

+1

Почему бы вам не отключить формат clang только для этих объявлений с '/ * clang-format off * /' – mkaes

+0

Это один из вариантов, который я считаю, я надеялся, что это автоматический способ сделать это. – Ibolit

ответ

0

Добавление запятой после последнего элемента массива вызывает лязг-формат (пробовал с v6.0.0), чтобы выровнять элементы в левую сторону, как ваш второй пример.

+0

Связано с https://stackoverflow.com/q/23072223/3425536 кстати. – emlai