clang_complete не завершает конструкторы

Рассмотрим этот исходный фрагмент:

class Z
{
public:
Z(int){}
void foo() {}
};

Это работает как задумано:

int main()
{
Z a(1);
a.        // <- at this point, a list of functions appears in a menu

Это не работает вообще:

  Z b       // <- at this point, nothing happens if I press <Tab> or C-X C-U
// except a "pattern not found" message
Z b(      // <- same here

Но это делает:

  Z b = Z   // a list of constructors appears in a menu when <Tab> is pressed

Можно ли настроить clang_complete так, чтобы завершение конструктора работало в обоих случаях?

3

Решение

Это clang (а также libclang) вопрос, а не плагин Vim clang_complete вопрос.

clang сейчас находится в активной стадии разработки AFAIK, поэтому вы можете отправить отчет об ошибке на http://llvm.org/bugs . Но я сам подал несколько ошибок, связанных с завершением кода, более месяца назад (например, этот) но они все еще не решены.

Когда мне нужно получить список доступных конструкторов, я пишу код, похожий на ваш Z b = Z, выберите конструктор, а затем конвертировать Z b = Z что-то, что мне действительно нужно. Не очень хорошо, но лучше, чем ничего.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]