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 追蹤的檔案。

搜尋結果為