4

在尝试使用vim 中的clang complete为 C 设置自动完成时,到目前为止,当我在 .c 文件中时,当我点击ctrl+x,u. 但是它只显示一些符号。

包含的标题中的所有功能都不会出现在自动完成弹出框中。似乎只有 typedef 显示?

在此处输入图像描述

项目结构非常简单:

$ tree -ap
.
├── [-rwxrw-r--]  .clang_complete
├── [-rwxrw-r--]  makefile
└── [drwxrw-r--]  src
    └── [-rwxrw-r--]  FlightControl.c

1 directory, 3 files

我尝试在项目文件夹中创建 .clang_complete 文件,其中包含以下内容:

-I/.../Libraries/xpSDK/CHeaders/XPLM

我仔细检查了 XPLM 标头的路径,它是正确的。

有什么想法有什么问题吗?

4

1 回答 1

2

在完成期间libclang尝试通过忽略错误向用户提供最长的匹配列表来尽力而为。我猜你没有XPLM_API定义宏。由于它用于在标头中声明每个函数,因此您不会在完成列表中看到任何函数。查看定义中的XPLMDefs.h我认为libclangPlatform not defined!出错(甚至可能多次)。

如果您定义完成平台,它应该可以工作,我现在通过添加-DLIN.clang_complete文件和完成工作来做到这一点。

所以这似乎不是 vim or 的问题clang_complete,尽管在这种情况下发出警告会很好。

于 2013-12-18T20:24:16.670 回答