c++ code formatter

安装量: 44
排名: #16866

安装

npx skills add https://github.com/calcitem/sanmill --skill C++ Code Formatter

C++ Code Formatter Purpose This skill helps format Sanmill's C++ code to ensure code style consistency and maintainability across the codebase. Use Cases Format C++ code after modifications Check code style compliance Format code before committing Batch format project C++ files Validate code style in CI/CD pipelines Quick Commands Using Project Script (Recommended)

Format all C++ and Dart code (will auto-commit)

./format.sh

Format without auto-commit

./format.sh s The script formats: All .h and .cpp files in src/ , include/ , tests/ All Dart files in the project Uses project's .clang-format configuration Manual Formatting

Format single file

clang-format -i src/position.cpp

Format multiple files

clang-format -i src/.cpp src/.h

Check without modifying (dry-run)

clang-format --dry-run --Werror src/position.cpp Configuration Project Configuration Files .clang-format - C++ formatting rules (project root) CPPLINT.cfg - Code style checking rules .editorconfig - Editor-specific settings View Current Configuration cat .clang-format Code Style Checking

Check specific file with cpplint

cpplint --config = CPPLINT.cfg src/position.cpp

The configuration file defines which checks to enable/disable

Git Integration Pre-commit Workflow

1. Make code changes

2. Format code

./format.sh s

3. Review changes

git diff

4. If correct, commit

git
add
.
git
commit
-m
"Your commit message"
Format Only Staged Files
git
diff
--cached
--name-only --diff-filter
=
ACM
|
\
grep
-E
'.(cpp|h|cc|hpp)$'
|
\
xargs
clang-format
-i
Common Issues & Solutions
1. Format Breaks Code Structure
Check
Verify
.clang-format
configuration
Check
Ensure clang-format version matches team standard
Workaround
Use
// clang-format off
and
// clang-format on
for special blocks
2. Batch Formatting Creates Large Changes
Solution
Format in batches and commit separately
Label
Use clear commit message like "style: Format C++ code"
Communicate
Notify team members to sync
3. Format Conflicts Between Developers
Ensure
All use same
.clang-format
file
Ensure
All use same clang-format version
Establish
Team formatting conventions
Best Practices
Format frequently
Format after each significant change
Format before commits
Always format before committing
Review formatting changes
Don't blindly commit formatting
Use project script
Prefer
./format.sh
over manual commands
Separate formatting commits
Keep formatting separate from logic changes
Don't hand-edit formatting
Let tools do the work Tools Required clang-format

Check if installed

clang-format --version

Install on Ubuntu/Debian

sudo apt-get install clang-format

Install on macOS

brew install clang-format cpplint (Optional) For additional style checking beyond formatting. Output Format Formatting operations should report: ✓ Files formatted successfully ⚠ Files with style violations ✗ Files that failed to format 📊 Total files processed 💡 Style improvement recommendations Reference Resources Configuration : .clang-format , CPPLINT.cfg , .editorconfig (project root) Format script : format.sh (project root) clang-format docs : https://clang.llvm.org/docs/ClangFormat.html C++ source locations : src/ , include/ , tests/

返回排行榜