特定のコーディング スタイルに従うために、clang 形式のツールをプロジェクトに追加したいと考えています。私はすでにプロジェクトとメイクファイルを持っています。makefile を使用して、clang 形式のツールをプロジェクトに統合するにはどうすればよいですか?
ありがとう!
特定のコーディング スタイルに従うために、clang 形式のツールをプロジェクトに追加したいと考えています。私はすでにプロジェクトとメイクファイルを持っています。makefile を使用して、clang 形式のツールをプロジェクトに統合するにはどうすればよいですか?
ありがとう!
まず、あなたの道が必要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