Я запускаю clang-formt
для исходного файла, и он продолжает переключать местоположение комментария, никогда не выбирая правильное местоположение.
Вот копия моего .clang-format
файла:
BasedOnStyle: Microsoft
Информация о версии:
$ clang-format --version
clang-format version 9.0.0
Фрагмент ниже показывает результаты, когда я запускаю clang-format
с -i
, а затем --output-replacements-xml
:
$ clang-format -i MyFile.cpp
$ clang-format --output-replacements-xml MyFile.cpp
<?xml version='1.0'?>
<replacements xml:space='preserve' incomplete_format='false'>
<replacement offset='2702' length='7'> </replacement>
</replacements>
$ clang-format -i MyFile.cpp
$ clang-format MyFile.cpp
<?xml version='1.0'?>
<replacements xml:space='preserve' incomplete_format='false'>
<replacement offset='2702' length='13'> </replacement>
</replacements>
Как видите, поле длины смещения замены продолжает меняться. Если бы я продолжал повторять это снова и снова, вы бы увидели, что он чередуется между двумя результатами, перечисленными выше. По сути, это просто перемещение местоположения конкретного комментария туда и обратно.
Вот источник, о котором идет речь:
Форматированная версия 1:
if (mp) // if foo bar likes to foo, the foo
{ // but bar foo also is bar
// too bizz bazz buzz bizz
status = contains(mp->foobar());
Форматированная версия 2:
if (mp) // if foo bar likes to foo, the foo
{ // but bar foo also is bar
// too bizz bazz buzz bizz
status = contains(mp->foobar());
Строка, о которой идет речь, - // too bizz bazz buzz bizz
, поскольку ее местоположение никогда не "улаживается". Кто-нибудь знает, почему этот комментарий продолжает двигаться вперед и назад? Кроме того, любые идеи о том, как предотвратить это (изменение файла формата, другой версии средства форматирования и т. Д.).