YouCompleteMe 集成

YouCompleteMe 是一个语义代码补全引擎。YouCompleteMe 可与 Vim 原生集成,但也可以通过 ycmd 与其他编辑器集成。

在编辑器中安装 YouCompleteMe

请参阅安装指南

生成编译数据库

YouCompleteMe(以及 clang-tidy 等其他工具)需要一个 JSON 编译数据库,用于指定每个文件的编译方式。fx 会自动将数据库 compile_commands.json 从当前 build 目录通过符号链接到源根目录。

如果此数据库不存在,则 Vim 可以配置为回退到 /scripts/youcompleteme/ycm_extra_conf.py 中的配置。如需了解如何进行此设置,请参阅 Vim 配置

使用

YouCompleteMe 将使用 compile_commands.json 执行代码补全并查找符号定义/声明。有关详情,请参阅编辑器的 YouCompleteMe 文档。编辑器应会自动选择 compile_commands.json 文件。

如需了解如何为 Fuchsia 开发配置 Vim,请参阅 Vim 设置

其他编辑器 (ycmd)

您需要将 ycmd 配置选项 global_ycm_extra_conf 设置为指向 ${FUCHSIA_DIR}/scripts/youcompleteme/ycm_extra_conf.py。请注意,您可能需要手动将 ${FUCHSIA_DIR} 替换为正确的路径。

或者,您也可以创建一个 .ycm_extra_conf.py 符号链接,以便 YCM 自动查找任何 fuchsia 代码库的配置:

ln -s $FUCHSIA_DIR/scripts/youcompleteme/ycm_extra_conf.py $FUCHSIA_DIR/.ycm_extra_conf.py