بنقرة واحدة
be-code-style
Fix BE (C++) code formatting issues using clang-format
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Fix BE (C++) code formatting issues using clang-format
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Review code with Doris-specific checklists
Run clang-tidy on newly added/modified BE C++ code
Fix FE (Java) code style issues using Checkstyle
Run Doris docker-based regression tests from a clean package
| name | be-code-style |
| description | Fix BE (C++) code formatting issues using clang-format |
| compatibility | opencode |
Fix C++ code formatting issues in the BE and Cloud modules using the project's clang-format configuration (v16).
You need to confirm that the major version of the called clang-format is 16. If the current environment's default does not meet this requirement, try the following:
.vscode/settings.json exists, use the clang-format.executable item in it..vscode/settings.json from the main directory.PATH environment variable, the current directory, and the main directory's custom_env.sh. Look for a clang-format with the major version number 16 in that path and its parent directory.Run the project's formatting script, which enforces clang-format v16:
build-support/clang-format.sh
This formats all C++ files under be/src, be/test, cloud/src, cloud/test in-place, respecting .clang-format and .clang-format-ignore.
Important: Always use this script instead of invoking clang-format directly. The script checks that clang-format version 16 is installed and exits with an error if the wrong version is found. Using a different version will produce inconsistent formatting.
To verify formatting without modifying files:
build-support/check-format.sh
This outputs a diff of any formatting violations and exits non-zero if there are any.
After running clang-format.sh, review the changes with git diff to verify only formatting was changed, then stage and commit.
| File | Purpose |
|---|---|
.clang-format | Main formatting rules (Google-based, 100 col, 4-space indent) |
.clang-format-ignore | Files excluded from formatting (third-party, generated) |
build-support/run_clang_format.py | Python wrapper for parallel execution |
The following are excluded from formatting (see .clang-format-ignore):
be/src/apache-orc/*, be/src/clucene/*, be/src/gutil/*be/src/glibc-compatibility/*cloud/src/common/defer.h| Problem | Solution |
|---|---|
clang-format not found | Install clang-format v16 or set CLANG_FORMAT_BINARY env var |
version is not 16 | Install clang-format v16; on macOS: brew install llvm@16 |
| Files not being formatted | Check .clang-format-ignore for exclusions |