clang-format ломает длинные комментарии doxygen

Я получил эти комментарии doxygen в своей устаревшей кодовой базе, и мне нравится сохранять их для согласованности.

/***************//****************************************************************
 *
 * @file
 *
 * Serial inteface to Novatel OEM4 GPS API.
 *
 *******************************************************************************/

К сожалению, clang-format-7 форматирует комментарии необычно и делает комментарии doxygen бесполезными.

/*****************************************************************************/ /**
                                                                                 *
                                                                                 * @file
                                                                                 *
                                                                                 * Serial inteface to Novatel OEM4 GPS API.
                                                                                                                                                                *
                                                                                 *******************************************************************************/

Я пробовал CommentPragmas: '^\.+' или '//**' в моем формате .clang, но безуспешно.

Мой .clang-формат следующий

---
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AlignEscapedNewlines: Right
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'false'
AllowShortBlocksOnASingleLine: 'false'
AllowShortCaseLabelsOnASingleLine: 'false'
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: 'false'
AlwaysBreakAfterDefinitionReturnType: None
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Stroustrup
BreakBeforeTernaryOperators: 'true'
BreakConstructorInitializers: BeforeComma
BreakStringLiterals: 'true'
ColumnLimit: '132'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
Cpp11BracedListStyle: 'true'
DerivePointerAlignment: 'false'
IndentCaseLabels: 'false'
IndentPPDirectives: AfterHash
IndentWidth: '4'
IndentWrappedFunctionNames: 'false'
KeepEmptyLinesAtTheStartOfBlocks: 'false'
Language: Cpp
MaxEmptyLinesToKeep: '1'
PointerAlignment: Right
ReflowComments: 'true'
SortIncludes: 'false'
SortUsingDeclarations: 'false'
SpaceAfterCStyleCast: 'true'
SpacesBeforeTrailingComments: '2'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCpp11BracedList: 'false'
SpaceBeforeParens: ControlStatements
Standard: Cpp11
TabWidth: '4'
UseTab: Never
CommentPragmas: '^\\.+'

...

Я ожидаю, что комментарий doxygen останется нетронутым с моими CommentPragmas, но у меня это не работает.

Любая помощь приветствуется.


person eimer    schedule 23.03.2019    source источник


Ответы (1)


Замена ReflowComments на false должна помочь (по крайней мере, с clang-format 8.0).

person nVxx    schedule 25.04.2019
comment
Это остановит любую перекомпоновку комментариев повсюду. И он преобразует первую строку в ...***/‹ПРОБЕЛ›/**. Это не то, чего я хочу. Я попробовал вариант CommentPragmaS, но не смог понять :( - person eimer; 02.08.2019