Emacs CEDET: переход к символам

Я прочитал фантастическое руководство по CEDET для Emacs Алекса Отта и Думаю, я знаю, как правильно настроить свои проекты EDE.

Однако, когда я пытаюсь перейти к локальному символу (например, функции main() в C++) с помощью команды semantic-complete-jump-local (C-c , j), я получаю сообщение об ошибке [no match], хотя я вызываю эту команду из файла .cpp, где символ определен.

Кроме того, когда я пытаюсь перейти с помощью semantic-complete-jump-global (C-c , J) к символу с несколькими определениями в разных файлах (например, несколько функций main()), CEDET жалуется на [not unique], но не дает мне возможности выбрать, какой символ я хочу видеть. Единственный способ найти интересующий меня символ — перебирать все варианты с помощью <TAB> буфер за буфером, пока не найду тот, который меня интересует. Есть ли способ получить список символов, откуда я могу выбрать? В идеале было бы здорово получить список автозаполнения, подобный тем, что Emacs helm (ранее известный как Все).

Это все с Emacs 24.2.1 в Linux с CEDET 1.1.


person Amelio Vazquez-Reina    schedule 14.10.2012    source источник
comment
какую версию CEDET вы используете?   -  person Alex Ott    schedule 15.10.2012
comment
Спасибо @AlexOtt, я только что обновил OP информацией о версии.   -  person Amelio Vazquez-Reina    schedule 15.10.2012


Ответы (1)


Вы пытались использовать команду semantic-ia-fast-jump? Он использует не только Semantic, но и другие источники данных, чтобы вычислить, куда прыгать. Я только что попробовал, и он правильно перешел к переменной, объявленной в родительском классе, на 3 уровня выше в иерархии.

person Alex Ott    schedule 15.10.2012
comment
Спасибо Алекс! semantic-ia-fast-jump отлично работает, но требует, чтобы я указал (курсор) на символ, к определению которого я хочу перейти. Вместо этого я хотел бы перейти к символам, которые я могу ввести в минибуфер (то есть механизм для навигации по символам, определенным в моем проекте). Было бы здорово увидеть список всех возможных символов, которые я могу просмотреть, чтобы выбрать тот, который мне нужен. В идеале это должен быть какой-то добавочный список автозаполнения, который обновляется по мере того, как вы вводите и уточняете имя символа (подобно тому, что делает Emacs Helm). Хотя не уверен, что это возможно. - person Amelio Vazquez-Reina; 15.10.2012
comment
Я думаю, что такую ​​функцию можно написать, хотя для этого потребуется некоторый код. - person Alex Ott; 15.10.2012
comment
Спасибо, Алекс. В то же время, какие другие механизмы существуют для навигации, перехода или предварительного просмотра определений символов? - person Amelio Vazquez-Reina; 15.10.2012