Похоже, vim не находит.clang_complete
При попытке настроить автозавершение для C с помощью clang complete в vim, и до сих пор, когда я нахожусь внутри.c файла, я получаю автоматическое завершение, когда нажимаю ctrl + x, u. Однако он отображает только некоторые символы.
Ни одна из функций из включенных заголовков не появляется во всплывающем окне автозаполнения. Похоже, что только typedefs показывают?
Структура проекта очень проста:
$ 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, и это правильно.
Есть идеи, что не так?
1 ответ
Во время завершения libclang
пытается сделать все возможное, игнорируя ошибки, чтобы предоставить пользователю самый длинный список совпадений. Я думаю, что у вас нет XPLM_API
макрос определен. Так как он используется для объявления каждой функции в заголовках, вы не увидите никаких функций в списке завершения. Глядя на определяет в XPLMDefs.h
я думаю что libclang
получает Platform not defined!
ошибка (может быть, даже несколько раз).
Это должно работать, если вы определите свою платформу для завершения, я сделал это, добавив -DLIN
в .clang_complete
файл и завершение работ сейчас.
Так что это не проблема VIM или clang_complete
хотя было бы неплохо иметь предупреждение в таком случае.