Как пометить область так, чтобы 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-format будет переформатировать это таким образом, что это намного сложнее читать (каждый парам на новой строке). Большинство форматеров кода могут распознавать специальные комментарии format-off/format-on, но я не нашел ничего подобного в руководстве clang-format.

2 ответов


в новой версии, вы можете окружить участок кода:

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

попробуйте добавить // маркер комментарий после каждой строки, это может сделать это. У меня была такая же проблема в 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)