📜  用于 c 的 coc.vim 自动完成 (1)

📅  最后修改于: 2023-12-03 15:40:52.864000             🧑  作者: Mango

用于 C 的 coc.vim 自动完成

coc.nvim 是一个用于 vim 和 neovim 的自动补全插件,可用于多种编程语言。其中,coc-ccls 插件对 C/C++ 的补全支持非常好。在使用 coc.vim 插件时,可以通过配置使其支持 C/C++ 的补全提示。

安装与配置
  1. 安装 coc.nvim 插件

参考 coc.nvim 的文档进行安装。可以使用 vim-plug 等插件管理器进行安装。

  1. 安装 coc-ccls 插件

运行以下命令来安装 coc-ccls 插件:

:CocInstall coc-ccls
  1. 配置 .vimrc 或 init.vim 文件

在 .vimrc 或 init.vim 文件中添加以下配置:

let g:coc_global_extensions = ['coc-ccls']
" coc-settings.json 文件路径
let g:coc_config_home = '~/.vim'
" 将 .vscode/ccls.json 文件路径映射到 coc-settings.json 文件中
let g:coc_node_args = ['-e', 'require("module").globalPaths.push("/path_to/ccls/");']

其中,第一行配置了使用 coc-ccls 插件;第二行指定了 coc-settings.json 文件的路径;第三行将 ccls.json 文件的路径映射到 coc-settings.json 文件中,方便 coc-ccls 插件读取。

使用

在打开 C 语言代码文件后,使用 :CocConfig 命令打开 coc-settings.json 文件,添加以下配置:

{
    "languageserver": {
        "ccls": {
            "command": "ccls",
            "filetypes": ["c", "cpp", "objc", "objcpp"],
            "rootPatterns": [".ccls", "compile_commands.json", ".vim/", ".git/", ".hg/"],
            "initializationOptions": {
                "cache": {
                    "directory": "~/.ccls-cache"
                }
            }
        }
    }
}

以上配置使用 ccls 作为 C 语言的补全提示工具。可根据自己的需要进行配置。在 C 语言文件中,使用 Tab 键来进行代码补全。

总结

通过 coc.vim 插件和 coc-ccls 插件可以实现高效的 C/C++ 代码补全提示功能,在开发过程中能够提高效率。以上介绍了如何配置和使用,希望对您有所帮助。