web-dev-qa-db-ja.com

clang-formatがそれに触れないようにリージョンをマークする方法は?

たとえば、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がこれをより読みにくい方法で再フォーマットすることです(新しい行のすべてのパラメーター)。ほとんどのコードフォーマッターは、特別なフォーマットオフ/フォーマットオンのコメントを認識できますが、clang-formatのマニュアルにはそのようなものはありません。

36
Alex

新しいバージョンでは、コードのセクションを以下で囲むことができます。

// clang-format off
...
// clang-format on
45
djasper

各行の後に//コメントマーカーを追加してみてください。私は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)
5
vsoftco