Я начал управлять своими проектами c ++ с CEDET
и сделал мою конфигурацию, используя Учебное пособие Алекса «Деликатное введение в CEDET», и почти все работает правильно.
Тем не менее, хотя у меня есть semantic-idle-completion-mode
Активно, чтобы увидеть прототипы моих функций, он не работает, как ожидалось.
Точнее, когда я хочу вызвать полиморфный метод или конструктор класса с несколькими возможными конструкторами, мини-буфер показывает только одно возможное определение.
Вот пример, я пытаюсь назвать один из 3 конструкторов класса SrmSkeleton.
void createChainsFromSkel ()
{vector эффекторы = mySkeleton-> getEndEffectors ();
mySkeleton = новый SmrSkeleton (
Единственный прототип Semantic
предлагает мне это
SmrSkeleton SmrSkeleon (строка _имя)
Однако, если использовать `M-x semantic-analize-current-context, это то, что я получаю
Тип контекста: #
Границы: ноль
Функция: SmrSkeleton SmrSkeleton (строка _name)
SmrSkeleton SmrSkeleton (SmrModeType _mode,SmrTransformationOrderType _rotOrder,string _name) SmrSkeleton SmrSkeleton (const SmrSkeleton& _skel) virtual void ~SmrSkeleton (void)
Индекс аргумента: 1
Аргумент: пустота
Классы префиксов: ‘функция
«переменная
‘тип
3 существующих конструктора перечислены, но не предложены. И когда я пытаюсь использовать M-x semantic-ia-complete-symbol
Emacs останавливается полностью.
Я хотел бы знать, почему CEDET
работает так, и если что-то есть (измените мою конфигурацию cedet, переопределите некоторые переменные …), я могу исправить это странное поведение.
Задача ещё не решена.
Других решений пока нет …