#comments #doxygen #clang-format
#Комментарии #doxygen #clang-форматирование
Вопрос:
Я получил эти комментарии 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 не будет затронут моими фрагментами комментариев, но у меня это не работает.
Любая помощь приветствуется.
Ответ №1:
Изменение ReflowComments
на false
должно привести к нужному результату (по крайней мере, с clang-format 8.0
).
Комментарии:
1. Это остановит любое повторное использование комментариев повсюду. И это преобразует первую строку в …***/<ПРОБЕЛ> /**. Это не то, чего я хочу. Я попробовал опцию CommentPragmaS, но не смог разобраться: (