通过配置 vscode 的 clangd 插件,可以实现 C++ 代码补全、跳转等功能。需要预先安装 clangd 插件、compdb 工具
以 hihope rk3568 为例,在 openharmony 根目录下创建工程为例
-
生成编译数据库 compile_commands.json
命令格式 (在 openharmony 根目录下执行): ./prebuilts/build-tools/linux-x86/bin/ninja -w dupbuild=warn -C <产品构建路径> -t compdb cxx c > <产品构建路径>/compile_commands.json
./prebuilts/build-tools/linux-x86/bin/ninja -w dupbuild=warn -C ./out/rk3568 -t compdb cxx c > out/rk3568/compile_commands.json
有新增加源文件、修改 BUILD.gn 时,需要重新生成编译数据库
-
vscode 工程 clangd 配置
修改工程配置, 指定 clangd 路径, 设置产品构建路径
{ "clangd.path": "${workspaceFolder}/prebuilts/clang/ohos/linux-x86_64/llvm/bin/clangd", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/out/rk3568", ] }
其它相关内容请查看
https://gitee.com/xmwvv/ohosdev-note