clang-format
自 0.50.0 起
當安裝 clang-format
且在主要專案的根源碼目錄中找到 .clang-format
檔案時,Meson 會自動加入一個 clang-format
目標,以重新格式化所有 C 和 C++ 檔案(目前僅適用於 Ninja 後端)。
ninja -C builddir clang-format
自 0.58.0 起
可以使用可選的 .clang-format-include
和 .clang-format-ignore
檔案來限制要重新格式化的檔案。
.clang-format-include
檔案包含一個模式列表,用於比對要重新格式化的檔案。 **
模式會遞迴比對此目錄和所有子目錄。空行和以 #
開頭的行會被忽略。如果找不到 .clang-format-include
,則模式預設為 **/*
,這表示源碼目錄中的所有檔案都會被遞迴比對,但缺點是它會走訪整個源碼樹,如果其中包含大量檔案,可能會很慢。
.clang-format-include
檔案的範例
# All files in src/ and its subdirectories
src/**/*
# All files in include/ but not its subdirectories
include/*
.clang-format-ignore
檔案包含一個模式列表,用於比對要排除的檔案。符合包含列表(見上文)且符合其中一個排除模式的檔案將不會被重新格式化。與包含模式不同,排除模式不支援 **
,而單個 *
會比對任何字元,包括路徑分隔符號。空行和以 #
開頭的行會被忽略。
建置目錄和沒有已知 C 或 C++ 副檔名的檔案將永遠被忽略。
.clang-format-ignore
檔案的範例
# Skip C++ files in src/ directory
src/*.cpp
請注意,.clang-format-ignore
的格式與 run-clang-format.py
使用的格式相同。
已新增一個新的目標 clang-format-check
。如果有任何檔案需要重新格式化,它會返回一個錯誤代碼。這旨在由 CI 使用。
自 0.60.0 起
如果缺少 .clang-format-include
檔案且源碼檔案位於 git 儲存庫中,則只會包含 git 追蹤的檔案。
搜尋結果為