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"