2

最近、コードをより統一して読みやすくするために、C++プロジェクトに.clang-formatファイルを含めることにしました。私は、2つではなく4つのスペースインデントを使いたいという点を除いて、Googleのデフォルト設定が大好きです。現在の行がclang形式をオーバーフローした場合にのみ、改行を補完します

この問題は、現在の行が80文字の列制限をオーバーフローしたときに特定のステートメントを読みにくくすることが原因で発生します。例えば、if文で溢れている:

if (some_condition || some_other_condition || 
    yet_another_condition) { 
    // block starts here 
} 

yet_another_condition試合は難しいブレークのいくつかの種類せずに読み取りを行う場合、ブロックの先頭のもののアラインメント。現在の行は、上記のように、次のにオーバーフローしたときに、私は唯一の新しい行に開口ブレースをしたい、

if (some_condition || some_other_condition || 
    yet_another_condition) 
{ 
    // block starts here 
} 

しかし:理想的には、私はこのような状況で発生するのでしょう、このようなものです例。他のすべてのケースでは、同じ行に開始ブレースが必要です(if/for/while/switchなどの文と関数のためになります)。

私の.clang-formatファイルでこの動作を指定することは可能ですが、残りのGoogleデフォルトはそのままにしておきますか?

答えて

0

clang-formatツールでは、カスタムブレースラッピングをBraceWrapping: Customで指定できますが、必要なコンテキストを認識するのに十分な柔軟性はありません。可読性を向上させる別の解決法は、4より大きい連続インデントを使用することである。 ContinuationIndentWidth: 8

+0

私はこれが事実かもしれないと恐れていました。しかし、あなたの助けてくれてありがとう、 'ContinuationIndentWidth'が次善のものと思われます。 –

関連する問題