Skip to main content

C++ code formatting

Doris uses clang-format for code formatting, and provides a package script in the build-support directory:

  • clang-format.sh.

    Format the C/C++ code in the be/src and be/test directories.

  • check-format.sh.

    Check the C/C++ code format in the be/src and be/test directories, and output diff, but the content of the file will not be modified.

Code style customization​

The code style of Doris is slightly modified on the basis of Google Style and is customized as a .clang-format file located in the root directory of Doris.

Currently, the .clang-format configuration file is adapted to versions above clang-format-16.0.0.

The code that you do not want to be formatted is recorded in the .clang-format-ignore file. These codes usually come from third-party code bases, and it is recommended to keep the original code style.

Environmental preparation​

You need to download and install clang-format, or you can use the clang-format plug-in provided by IDE or Editor, as described below.

Download and install clang-format​

The current doris uses clang-format 16 for code formatting (different versions of clang-format may produce different code formats).

Linux: You can use the LDB toolchain directly, which already comes with a corresponding version of clang-format. Or install or compile the binary by yourself in other ways.

Mac: brew install clang-format@16

LDB toolchain:

If you are using LDB toolchain, the latest version (>= v0.18) of LDB toolchain has already included clang-format with 16.0.0 version.

clang-format plugin​

Clion IDE can use the plug-in "ClangFormat", search and download in File->Setting->Plugins. However, you need to confirm whether the clang-format version is 16.

How to use​

Command line operation​

cd to the root directory of Doris, and then execute the following command:

build-support/clang-format.sh

Note: The clang-format.sh script requires python 3 to be installed on your machine

Use clang-format in IDE or Editor​

Clion​

If Clion uses a plug-in, just click Reformat Code.

VS Code​

VS Code needs to install the extension Clang-Format, but you need to provide the location of the clang-format execution program.

Open the VS Code configuration page, directly search for "clang_format", and fill in

"clang_format_path": "$clang-format path$",
"clang_format_style": "file"

Then, right-click on Format Document.