Scroll to navigation



clang-format - manual page for clang-format 15


OVERVIEW: A tool to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code.

If no arguments are specified, it formats the code from standard input and writes the result to the standard output. If <file>s are given, it reformats the files. If -i is specified together with <file>s, the files are edited in-place. Otherwise, the result is written to the standard output.

USAGE: clang-format [options] [<file> ...]


Clang-format options:

--Werror - If set, changes formatting warnings to errors

--Wno-error=<value> - If set don't error out on the specified warning type.

- If set, unknown format options are only warned about.
configuration contains unknown (newer) options. Use with caution, as this might lead to dramatically differing format depending on an option being supported or not.
.clang-format file. Only used when reading from stdin. If this is not passed, the .clang-format file is searched relative to the current working directory when reading stdin. Unrecognized filenames are treated as C++. supported:
Java: .java JavaScript: .mjs .js .ts Json: .json Objective-C: .m .mm Proto: .proto .protodevel TableGen: .td TextProto: .textpb .pb.txt .textproto .asciipb Verilog: .sv .svh .v .vh
clang-format from an editor integration

--dry-run - If set, do not actually make the formatting changes

Can be used with -style option.
fallback in case clang-format is invoked with -style=file, but can not find the .clang-format file to use. Defaults to 'LLVM'. Use -fallback-style=none to skip formatting.
before stopping (0 = no limit). Used only with --dry-run or -n

--files=<string> - Provide a list of files to run clang-format

-i - Inplace edit <file>s, if specified.

Multiple ranges can be formatted by specifying several -offset and -length pairs. When only a single -offset is specified without -length, clang-format will format up to the end of the file. Can only be used with one input file.
lines (both 1-based). Multiple ranges can be formatted by specifying several -lines arguments. Can't be used with -offset and -length. Can only be used with one input file.

-n - Alias for --dry-run

Multiple ranges can be formatted by specifying several -offset and -length pairs. Can only be used with one input file.

--output-replacements-xml - Output replacements as XML.

determined by the QualifierAlignment style flag
determined by the SortIncludes style flag
1. A preset: LLVM, GNU, Google, Chromium, Microsoft,
2. 'file' to load style configuration from a
.clang-format file in one of the parent directories
of the source file (for stdin, see --assume-filename). If no .clang-format file is found, falls back to --fallback-style. --style=file is the default.
3. 'file:<format_file_path>' to explicitly specify
the configuration file.
4. "{key: value, ...}" to set specific parameters, e.g.:
--style="{BasedOnStyle: llvm, IndentWidth: 8}"

--verbose - If set, shows the list of processed files

Generic Options:

--help - Display available options (--help-hidden for more)

--help-list - Display list of available options (--help-list-hidden for more)

--version - Display the version of this program

September 2022 clang-format 15