NeoVim + coc.nvim + ccls 搭建 C/C++ 开发环境

近期需要阅读 Linux Kernel 的源码,因为我日常使用 NeoVim + coc.nvim 在 Ubuntu 上进行开发,以下是我的配置记录。 NeoVim: 是 Vim 的一个 fork 版本,可以使用 Lua 进行配置和扩展 coc.nvim: 是一套使用 javascript 开发的 LSP 实现,目标是贴近 VsCode 的使用体验 ccls: 是 C/C++/Objective-C 的 Language Server 实现 bear: 用于记录传递给编译器的命令以构建 compile_commands.json 安装依赖 apt install clang libclang-14-dev bear 安装 ccls git clone --depth=1 --recursive https://github.com/MaskRay/ccls cd ccls cmake -H. -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/to/clang+llvm-xxx cmake --build Release ccls --version 配置 coc.nvim { "languageserver": { "ccls": { "command": "ccls", "filetypes": ["c", "cc", "cpp", "c++", "objc", "objcpp"], "rootPatterns": ["....

June 22, 2023 · 1 min · 129 words