format
Tool Locations
- clang-format:
../../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang-format - clang-format-diff.py:
../../../prebuilts/clang/ohos/linux-x86_64/llvm/share/clang/clang-format-diff.py
Approach
Use clang-format-diff.py which is designed specifically for this use case - it reads a diff from stdin and only applies formatting to lines that were changed.
Working Command
# Navigate to repo root and run:
git diff HEAD -- 'graphic_2d/**/*.cpp' 'graphic_2d/**/*.h' 2>/dev/null | \
python3 prebuilts/clang/ohos/linux-x86_64/llvm/share/clang/clang-format-diff.py \
-p1 -binary prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang-format -i
Why This Works
git diff HEAD- Shows all unstaged changes relative to HEAD-- 'graphic_2d/**/*.cpp' 'graphic_2d/**/*.h'- Filters to C++ source filesclang-format-diff.py- Reads the diff and only formats changed lines-p1- Strips one path component (graphic_2d/) from diff paths-binary ...- Specifies the clang-format executable to use-i- Applies edits directly to files
Important Notes
- Must run from repo root of OpenHarmony so file paths in the diff match actual file locations
- The tool only applies formatting if changed lines violate style rules
- If changed lines are already properly formatted, no changes are made
- This avoids the problem of formatting thousands of unchanged lines in a file
More from openharmonyinsight/openharmony-skills
openharmony-cpp
Expert coding guide for OpenHarmony C++ development. Use this skill when writing, refactoring, or reviewing C++ code for OpenHarmony projects. It enforces strict project-specific conventions (naming, formatting, headers) and critical security requirements (input validation, memory safety).
77openharmony-security-review
Use when reviewing OpenHarmony C++ system service code for security vulnerabilities, particularly IPC handlers, multithreaded components, or code handling sensitive user data
77oh-ut-generator
|
65cpp-core-guidelines-review
Parallel C++ Core Guidelines code review using multiple specialized sub-agents. Use when reviewing C++ code, modules, or files against C++ Core Guidelines to identify violations. Each sub-agent reviews against a specific guideline section (Functions, Classes, Resource Management, etc.) and outputs findings to separate markdown files in the review/ directory, followed by a consolidated summary.
59ohos-chromium-security-review
|
55openharmony-build
This skill should be used when the user asks to "编译 OpenHarmony", "build OpenHarmony", "编译完整代码", "执行编译", "编译 OpenHarmony 代码", "快速编译", "跳过gn编译", "fast-build", "编译测试", "编译测试用例", "build ace_engine_test", "编译 sdk", "编译 SDK", "build sdk", "build SDK", "编译 ohos-sdk", "编译测试列表", "build test list", "按列表编译测试", "编译指定测试", or mentions building the full OpenHarmony system, fast rebuild, test compilation, SDK compilation, or building tests from a target list. Handles complete build process including build execution, success verification, and failure log analysis with primary focus on out/{product}/build.log.
55