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