Как пометить регион, чтобы формат clang его не трогал?

Например, в библиотеке MySQL ++ есть макросы, которые можно использовать для определения простых структур на основе определения таблицы SQL, например:

sql_create_6(stock, 1, 6,
mysqlpp::sql_char, item,
mysqlpp::sql_bigint, num,
mysqlpp::sql_double, weight,
mysqlpp::sql_decimal, price,
mysqlpp::sql_date, sdate,
mysqlpp::Null<mysqlpp::sql_mediumtext>, description)

Проблема в том, что clang-формат переформатирует это так, что его будет намного сложнее читать (каждый параметр в новой строке).
Большинство форматеров кода могут распознавать специальные комментарии форматирования-выключения / форматирования-включения, но я не нашел ничего подобного в руководстве по формату clang.

11

Решение

В более новой версии вы можете заключить часть кода в:

// clang-format off
...
// clang-format on
15

Другие решения

Попробуйте добавить // маркер комментария после каждой строки, это может сделать это. У меня была такая же проблема в Eclipse и я научился этому трюку.

sql_create_6(stock, 1, 6, //
mysqlpp::sql_char, item, //
mysqlpp::sql_bigint, num, //
mysqlpp::sql_double, weight, //
mysqlpp::sql_decimal, price, //
mysqlpp::sql_date, sdate, //
mysqlpp::Null<mysqlpp::sql_mediumtext>, description)
3