clang-format を使用して、スイッチ内の単一行の case ステートメントを取得する方法 質問する

clang-format を使用して、スイッチ内の単一行の case ステートメントを取得する方法 質問する

をお願いします。clang フォーマット次のようにフォーマットします:

switch (x)
{
case long_name: return 1;
case sn:        return 2;
}

オプションAllowShortCaseLabelsOnASingleLineは同じ行に表示します
が、ステートメントを取得する方法が見つかりませんでした整列した

ベストアンサー1

現時点では、ClangFormat を使用して要求されていることを実行することはできません。

その理由についての公式説明は次のとおりです。

スタイル オプションを追加するたびに、clang-format プロジェクトのコストが増加します。これらのコストの一部は、clang-format の開発自体に影響します。これは、任意のオプションの組み合わせが機能し、新しい機能が既存のオプションをまったく損なわないことを確認する必要があるためです。また、オプションが見つけにくくなり、ユーザーがあまり気にしないオプションについて考えて決定しなければならないため、エンド ユーザーにもコストがかかります。

clang-format プロジェクトの目標は、どこかのコードベースで使用されているすべてのスタイルをサポートするのではなく、限られたスタイルのセットを本当に適切にサポートすることにあります。 [...]

そのようなことを実行できる唯一の方法は、次のとおりです。

  1. 開発者にスタイル オプションを提案します。
  2. 希望するスタイル オプションが追加されるまで待ちます。
  3. ステートメントを整列させることができる ClangFormat の代替を使用します。

出典:

  1. https://clang.llvm.org/docs/ClangFormatStyleOptions.html#configurable-format-style-options
  2. https://clang.llvm.org/docs/ClangFormatStyleOptions.html#スタイルオプションの追加

おすすめ記事