clang 格式:不要在字符串和 << operator

问题描述 投票:0回答:1

我的 C++ 代码中有以下行:

std::cout << "done" << "\n";

clang-format 分为哪几种

std::cout << "done"
          << "\n";

无论如何。我编辑了以“Break”或“Align”开头的每个选项:

AlignAfterOpenBracket: DontAlign
AlignArrayOfStructures: None
AlignConsecutiveMacros: 'false'
AlignConsecutiveAssignments: 'false'
AlignConsecutiveBitFields: 'false'
AlignConsecutiveDeclarations: 'false'
AlignEscapedNewlines: DontAlign
AlignOperands:   DontAlign
AlignTrailingComments: 'false'

BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: false
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: AfterComma
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: AfterColon
BreakStringLiterals: false

我怎样才能让它不这样做?版本是14.0.0

c++ clang-format
1个回答
4
投票

clang-format 总是错误地将

<<
后跟字符串文字放在单独的行上。 这是一个已知错误,于 2020 年 2 月首次报告。

您的配置适用于以下语句:

// doesn't get split over multiple lines
int x = 3 << 5;

对于这样的代码,

BreakBeforeBinaryOperators: None
确实有效。 但是,当
<<
后跟字符串文字时,无论如何,clang-format 都会将其放在单独的行上。

© www.soinside.com 2019 - 2024. All rights reserved.