请问Emacs里面有没有类似VS Code里面的那种创建project的插件?

我想生成一个Qt项目(C++)的 compile_commands.json 文件,方便提供补全选项,别人那里克隆下来的项目,查看代码的时候无法包含Linux下的Qt头文件库路径。无法跳转。于是就有了这个需求,之前在VS Code里看到有直接生成项目框架的插件,于是上来问问Emacs下的解决办法。另外如果Emacs下没有简单的办法,那有没有命令行的办法?因为我不熟悉C++,小白一枚,所以搞不懂这个文件要怎么生成。

那个克隆的项目地址:

vscode使用compile_commands.json配置includePath环境

生成compile_commands.json文件

看前面,可以在命令行中生成

mkdir build
cd build
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=1
ln -s ./compile_commands.json ../

用过 bear 生成过这个文件,当时好像是为了用 clangd 获得代码补全。

我读了 clang/clangd 的官方文档,执行了这个命令,但是报错说缺乏文件:

CMake Error: The source directory ".../redict/src" does not appear to contain CMakeLists.txt.

那这个 CMakeLists.txt 文件是需要我手动来写的么?还是也有命令能够自动生成?

大神,你用bear是怎么弄的?我也是这样,需要获得clangd的跳转和补全信息。

看這個文件 https://github.com/rekols/redict/blob/master/redict.pro 項目用的是 qmake 不是 cmake。沒用過 qmake 不太清楚,感覺應該也能直接生成 compile_commands.json

用 qtcreator 打开项目,然后见下图

或者用 bear: Clang Tidy, part 2: Integrate qmake and other build systems using Bear - KDAB

cmakelists.txt是需要自己写的,我一开始以为这是个cmake工程。。。

楼上的方法应该是最简单的,项目不复杂的话也可以考虑手写一份cmakelist.txt,见 https://doc.qt.io/qt-5/cmake-get-started.html

感谢大家,现在终于学会了。非常感谢!哈哈