clang-format vs Uncrustify
clang-format
clang.llvm.orgUncrustify
github.comSide by side
| Figure | clang-format | Uncrustify |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Code formatters | 7.7 (#8) | 7.6 (#11) |
| Spec score · Code Formatting Tools | 7.6 (#20) | 7.7 (#18) |
| Configuration | Formatting styles can be set with command-line options or project-level .clang-format or _clang-format files. | The project describes Uncrustify as highly configurable, with 901 options as of version 0.83.0. |
| Distribution | The LLVM project provides source and pre-built binary downloads, with listed binaries including Windows, macOS, and Linux platforms. | The project provides source code and precompiled Windows binaries through its releases page. |
| Editor integrations | The documentation describes integrations for Vim, Emacs, BBEdit, CLion, Visual Studio, and Visual Studio Code. | The README links usage guidance for Vim and an Uncrustify plugin for IntelliJ. |
| License | LLVM releases are distributed under the Apache-2.0 license with LLVM exceptions, which the download page describes as OSI-approved. | The repository identifies its license as GPL-2.0. |
| Purpose | ClangFormat is a set of tools built on LibFormat for formatting source code, available as a standalone tool and through editor integrations. | Uncrustify is a source code beautifier for C, C++, C#, Objective-C, D, Java, Pawn and Vala. |
| Support | The Clang guide directs users who encounter problems to file bugs on the LLVM bug tracker. | The project directs bug reports to its GitHub issue tracker and welcomes patches through pull requests. |
Plans
In their own words
clang-format
clang-format has no write-up on Specifiction yet; its figures are above.