1

特定のコーディング スタイルに従うために、clang 形式のツールをプロジェクトに追加したいと考えています。私はすでにプロジェクトとメイクファイルを持っています。makefile を使用して、clang 形式のツールをプロジェクトに統合するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

2

まず、あなたの道が必要clang-formatですclang-format-diff.py

ディレクトリ内のすべての c/c++ ソース/ヘッダー ファイルを再帰的にフォーマットする python スクリプトを次に示します。

import os

cpp_extensions = (".cpp", ".cxx", ".c++", ".cc", ".cp", ".c", ".i", ".ii", ".h", ".h++", ".hpp", ".hxx", ".hh", ".inl", ".inc", ".ipp", ".ixx", ".txx", ".tpp", ".tcc", ".tpl")

for root, dirs, files in os.walk("src"):
    for file in files:
        if file.endswith(cpp_extensions):
            os.system("clang-format -i -style=file " + root + "/" + file)

.clang-formatカスタム スタイルとパラメータを含むファイルがあり-style=fileます。-iインプレース編集用です。

これはおそらく最もpythonicな方法ではありませんが、私にとってはうまくいきます。bashで書き直せます。

format次のように、makefileにターゲットを追加できます。

format:
    python the_script.py

必要に応じて、次のように git でダーティ ファイルのみをフォーマットできます (ここで説明されているように):

format:
    git diff -U0 HEAD^ | clang-format-diff.py -i -p1
于 2015-07-24T20:11:10.507 に答える