2015-09-04 2 views
1

У меня возникли некоторые проблемы с результатом в стиле clang. Кстати, я использую v3.8.0.246435.clang-format indents function аргументы/параметры всегда с 4 пробелами

Рассмотрим следующий пример кода:

if(foo) 
{ 
    bar(); 
    foobar(
     arg1, 
     arg2, 
     arg3, 
     arg4, 
     arg5, 
     arg6); 
} 

В приведенном выше коде все отступом с 3 пространств. Теперь, если я бегу лязг-формат в этом коде (см нижнюю часть моего поста для моего лязг формата конфигурации), я получаю следующий результат:

if(foo) 
{ 
/*V 3 spaces here */ 
    bar(); 
    foobar(
     arg1, 
     arg2, 
     arg3, 
     arg4, 
     arg5, 
     arg6); 
    /*^ 4 spaces here */ 
} 

я считаю, что это очень странное поведение. Я хочу иметь одинаковые уровни отступов во всем коде. Кажется, clang-format всегда откладывает аргументы/параметры функции с 4 пробелами, независимо от того, какое значение имеет значение IndentWidth. Есть ли способ отменить это поведение? Или это ошибка?

Мой лязг формате CFG:

Language: Cpp 
SpaceBeforeParens: Never 
SpacesInParentheses: false 
SpaceAfterCStyleCast: true 
SpacesInSquareBrackets: false 
AllowShortIfStatementsOnASingleLine: false 
PointerAlignment: Right 
AlignOperands: true 
AlignConsecutiveAssignments: true 
AlignAfterOpenBracket: false 
UseTab: Never 
IndentWidth: 3 
TabWidth: 3 
ColumnLimit: 100 
MaxEmptyLinesToKeep: 4 
KeepEmptyLinesAtTheStartOfBlocks: false 
BreakBeforeBraces: Stroustrup 
BinPackArguments: false 
BinPackParameters: false 
AllowShortFunctionsOnASingleLine: None 
AlignEscapedNewlinesLeft: true 

ответ

0

На самом деле, я узнал, какая команда отсутствует. Вы должны добавить

ContinuationIndentWidth: 3 

или любой номер, который вы хотите, для того чтобы его отступы продолжали линии так, как вы хотите. Значение по умолчанию: 4.

Смежные вопросы