私は私のプロジェクトのルートディレクトリに次の.clang形式のファイルを得た:clang形式を使用して4つのスペースでC++クラスを自動的にインデントする方法はありますか?
:---
AlignTrailingComments: true
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
BreakBeforeBinaryOperators: false
IndentWidth: 4
SortIncludes: false
NamespaceIndentation: All
...
問題は、私は私のC++ヘッダーに打ち鳴らすフォーマットを実行すると、なったクラスは次のようにautoindentedています
ご覧のとおり、&というラベルのプライベートラベルは、2つのスペースでインデントされています。しかし、私が達成しようとしていることは、以下の出力が(インデントを手動で微調整した)である。
そのようにコード-崩壊を行うのは本当に楽しい何かになります。
この効果を得るには、どうやって.clang形式を微調整できますか?
EDIT:あなたが見ることができるように
:私はunsuccesfully AccessModifierOffsetを使用してみました
、私は以下の値{-2,0,2,4} exampeを使用しましたパブリックブロック内のステートメントは正しくインデントされません。
EDIT2:私は@Henriqueユングソリューションを試したし、それは私がその組み合わせを使用した場合、結果はこのようなものになるだろう、のために求めているものを絶対にありません
:
ご覧のとおり、関数内のコンテンツは、4つではなく8つの空白で字下げされていますが、これはうまくありません。
EDIT3:
私はこの1つは間違いなく面白いですように私は再びつもりしようとしています数ヶ月前に恵みを与えてくれました。私がclang形式のソースコードについて十分な知識を持っていれば、残念なことに私はそれを撃つだろう...私はいくつかのclang devがこれを見て、いくつかの提案をすることを望む。
"AccessModifierOffset"を試してください。これは、別のSOの質問の重複の可能性があります:http://stackoverflow.com/questions/29198963/how-can-i-tell-clang-format-to-indent-visibility-modifiers – caoanan
@caoanan本当に、私はすでに数日前にAccessModifierOffsetを試しましたが、なんらかの理由でクラスを適切にインデントしていません。それは、それが下の文をインデントしていない公開/私/保護されたインデントされることは間違いないが。私の質問を見てください、私はあなたに例を入れました – BPL
ええ、もし私がスクリーンショットを貼り付けることができれば(http://clang-format.me/)。あなたにはWebkitスタイルの設定が好きです。 –