尝试在vim中使用clang complete设置C的自动完成,到目前为止,当我在.c文件中时,当我点击 ctrl + x时,我会自动完成, û。但是它只显示一些符号。
所包含标题中的所有功能都不会显示在自动完成弹出框中。似乎只显示了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标头的路径,这是正确的。
任何想法都错了吗?
答案 0 :(得分:2)
在完成期间libclang
尝试通过忽略错误来为用户提供最长匹配列表,从而尽力做到最好。我猜你没有定义XPLM_API
宏。由于它用于声明头文件中的每个函数,因此您不会在完成列表中看到任何函数。查看XPLMDefs.h
中的定义我认为libclang
会出现Platform not defined!
错误(甚至可能多次)。
如果您定义了要完成的平台,它应该可以正常工作,我通过将-DLIN
添加到.clang_complete
文件来完成此操作,现在就可以完成。
所以它似乎不是vim或clang_complete
的问题,尽管在这种情况下发出警告会很好。