Skip to main content

C++ Code Diagnostic

Doris support to use Clangd and Clang-Tidy to diagnostic code. Clangd and Clang-Tidy already has in LDB-toolchain,also can install by self.

Clang-Tidy

Clang-Tidy can do some diagnostic config, config file .clang-tidy is in Doris root path. Compared with vscode-cpptools, clangd can provide more powerful and accurate code jumping for vscode, and integrates the analysis and quick-fix functions of clang-tidy.

Enable clangd on VSCODE

First we should install clangd plugin, then edit settings.json or just change config on gui. Before using, compile be(RELEASE) and be-ut(ASAN) once to generate the corresponding compile_commands.json file.

    "clangd.path": "ldb_toolchain/bin/clangd", //clangd path
"clangd.arguments": [
"--background-index",
"--clang-tidy", //enable clang-tidy
"--compile-commands-dir=doris/be/build_Release/",
"--completion-style=detailed",
"-j=5", //clangd diagnostic parallelism
"--all-scopes-completion",
"--pch-storage=memory",
"--pretty",
"--query-driver=ldb_toolchain/bin/*" //path of compiler
],
"clangd.trace": "output/clangd-server.log"