Clang-format: Как никогда не выравнивать токен из предыдущей строки?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Clang-format: Как никогда не выравнивать токен из предыдущей строки?

Сообщение Anonymous »

Я хочу добиться того, чтобы длина переменной/функции/и т. д. никогда не влияла на отступ следующих строк или, по крайней мере, как можно реже. Например, у меня уже есть AlignAfterOpenBracket: AlwaysBreak, который перемещает все параметры на следующую строку, если, например. имя функции слишком длинное:
const auto result = SomeVeryLooooooonFunctionName(
parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);

Примечательно: если что-то меняется в первой строке, это никак не повлияет на следующие строки (если только весь вызов не станет настолько коротким, что уместится в одну строку, но это нормально).
Но когда я сразу добавляю (или любую другую бинарную операцию) что-то, это становится нежелательным:
const auto result = SomeVeryLooooooonFunctionName(
parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6) +
1;

Похоже, что параметры теперь соответствуют имени функции (плюс ContinuationIndentWidth: 4). Меня бы устроил большой отступ (хотя, по моему мнению, это некрасиво), но моя проблема в том, что сейчас, когда я, например, измените имя результата, все последующие строки изменят свой отступ, а это именно то, чего я не хочу.
Это было бы желательно :
const auto result =
SomeVeryLooooooonFunctionName(
parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6) +
1;

Но на самом деле все в порядке, если изменение имени в первой строке не приводит к изменению отступов всех последующих строк.
Это это мой файл в формате .clang:
---
Language: Cpp
BasedOnStyle: Mozilla

AlignAfterOpenBracket: AlwaysBreak
AlignOperands: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
PenaltyReturnTypeOnItsOwnLine: 0
ColumnLimit: 100
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
IndentWidth: 2
...


Подробнее здесь: https://stackoverflow.com/questions/791 ... vious-line
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»