Вим и ты дополни меня

почему я не получаю полных предложений по математическим константам от YCM?

Например:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    cout<<"PI:"<<M_PI<<endl;

    return 0;
}

После ввода «M_P» в Code::Blocks я получаю меню завершения с записями «M_PI, M_PI_2, M_PI_4». Так что я могу выбрать, какой из них я хочу использовать.

Почему у меня нет таких же полных предложений с YCM? Может ли YCM сделать то же самое?

(дополнение кода для объектов работает очень хорошо.

string str="my string";
str. 

YCM дает мне здесь список всех методов класса для этого объекта. Как и ожидалось)

РЕДАКТИРОВАТЬ:

Хорошо, несколько картинок. Может поможет (проблема простая, наверное не правильно объяснили)

Изображение 1: https://ibb.co/f9Xccsy

На этой картинке видно, что YCM работает.

Изображение 2: https://ibb.co/sJJTCjF

Здесь я использую Code::Blocks в качестве своей IDE. Как вы видите, у него есть функция завершения кода для математических констант.

Изображение 3: https://ibb.co/B3w2BGY

Та же программа, что и выше (рисунок 2). Но YCM не дает меню завершения (как это делает Code::Blocks).

У вас такая же "проблема" с YCM или ее можно изменить?

Благодарю вас!


person kazoka    schedule 30.11.2018    source источник


Ответы (1)


1) Добавьте флаг '-std=gnu11' в ваш файл .ycm_extra_conf.py.

2) Принудительное завершение с помощью <Control> + <Space>

person kazoka    schedule 30.11.2018