К сожалению, прямого способа сделать это нет, clang-tidy поддерживает только //NOLINT
и //NOLINTNEXTLINE
.
Я не знаю, насколько вы контролируете эту генерацию кода ... вы можете сгенерировать его в одной строке, что может вам очень помочь, поскольку C ++ не заботится о пробелах.
Грубое, но эффективное решение - использовать инструмент для работы с текстом, например sed:
$ sed -i -re '/^\/\/BEGIN_NOLINT/,/^\/\/END_NOLINT/{s/$/\/\/NOLINT/}' *.cpp
Это добавило бы //NOLINT
в конце каждой строки между комментариями //BEGIN_NOLINT
и //END_NOLINT
(которые, вероятно, могут быть созданы).
Вы также можете запустить clang-tidy с параметром
-line-filter='[{"name":"test.cpp","lines":[[1,10],[12,100]]}]'
Строка 11 в этом примере будет пропущена. Однако это сложно поддерживать, поскольку вам нужно обновлять фильтр каждый раз, когда вы добавляете / удаляете строки в файле. Может быть, было бы неплохо сгенерировать код в отдельные файлы, если это возможно.
person
pablo285
schedule
20.03.2019