使用 CMAKE 为 C++ 设置 Neovim

Posted

技术标签:

【中文标题】使用 CMAKE 为 C++ 设置 Neovim【英文标题】:Setting Up Neovim for C++ with CMAKE 【发布时间】:2021-10-25 12:33:58 【问题描述】:

我使用 coc 来完成代码,使用 ale 来整理我的 c++ 文件,当我将所有头文件和源文件都放在同一个目录中时,这可以正常工作,但是当我有一个具有典型 include 的 CMake 项目时& src 目录(分别用于头文件和 .cpp 文件)此设置无法意识到我的头文件位于 include 目录中,因此 linting 和代码完成不起作用。 在配置我的 neovim 设置以处理此项目结构的任何帮助,或可以做我想要的不同插件的建议将不胜感激。

【问题讨论】:

“或不同插件的建议可以做我想做的事”是题外话,因为你在向我们寻求建议。相反,您需要进行研究,找到看起来不错的东西,使用它,然后就该特定问题提出具体问题。 【参考方案1】:

请查看 CMake 关于 CMAKE_EXPORT_COMPILE_COMMANDS 的文档。

这是我的.nvimrc 的一部分,例如:

nnoremap <F5> :wa <bar> :set makeprg=cd\ build\ &&\ cmake\ -DCMAKE_BUILD_TYPE=debug\ -DCMAKE_EXPORT_COMPILE_COMMANDS=1\ ../view\ &&\ cmake\ --build\ . <bar> :compiler gcc <bar> :make <CR>

这会生成compile_commands.json 文件,该文件由各种ALE Supported Languages and Tools 读取。

【讨论】:

以上是关于使用 CMAKE 为 C++ 设置 Neovim的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(四一一)cmake交叉编译Android curl

使用 cmake 时如何在 C++ 中使用库(*.a 文件)

使用 Neovim 配置 Packer

如何在 Visual Studio 2017、C++、CMake 中使用数据断点?

与 Java 和 Python 相比,为啥每次使用 Cmake 运行 C++ 程序都需要这么长时间?

使用cmake混编c和c++