2016-10-04 4 views
7

同じ行に空の括弧を保つ:打ち鳴らす形式を使用して - 私は通常、自分の行から始まりますブレースように打ち鳴らす形式を設定しようとしている

void func() 
{ 
    if (...) 
    { 
     printf("Ta Da\n"); 
    } 
} 

しかし、私はそれはそうするときになりたいです中括弧は空であり、1行に保持されます。 (主にctorsに使用):

Bar::Bar(int val): 
    _val(val) 
{} 

は、現在、それは次のようになります。

Bar::Bar(int val): 
    _val(val) 
{ 
} 

任意のアイデア?

(状況より明確にするために編集された)

+1

これは、そのスタイルの予想される動作です。空のコンストラクタにはボディがないので、同じ行に中括弧を書くことは理にかなっています。より多くのオプションが必要な場合は、clang-formatの代わりにAStyleを試してみてください。ただし、それが可能かどうかは分かりません。 – plasmacel

+0

誤解されています。 – user972014

答えて

2

私は 「AllowShortFunctionsOnASingleLine」の組み合わせを使用:など空のコンストラクタを宣言するときに1行にそれを得るために「オールマン」、 :真、 と 「BreakBeforeBracesを」 ..

2

更新日:ハレイ! Clang 5.0以降では、カスタムBreakBeforeBracesで可能です。 documentationSplitEmptyFunctionを参照してください。

設定例:残念ながら

BreakBeforeBraces: Custom 
BraceWrapping: 
    SplitEmptyFunction: false 

それはクラン4.0 で(クラン4.0のような)現在の打ち鳴らす形式のオプションを達成するためにことはできません。

出典:私は同じ質問がありました。すべての文書化されたオプションと、多くの調整の試みを勉強した後、私はこれを達成できませんでした。私の経験では、clang形式は、希望通り柔軟性がありません。あらかじめ定義されたスタイルから抜け出し、好きなだけ微調整したいと思ったらすぐにカットしません。

+0

私はまた、その限界に気付き始めている。しかし、それはまだ私たちが仕事のために持っている最良のツールのようです。 –

+1

@BernardoSulzbach Clang 5は、最終的に同じ行に空の括弧を使用可能にします。私は答えを更新しました。 – AMA

関連する問題