Как перемещаться по Perl-коду с помощью cscope в emacs? - PullRequest
5 голосов
/ 22 июня 2011

Я был пользователем VIM 4 года, но пытался изучить emacs.Мой проект полностью написан на perl, и я пытаюсь заставить cscope работать в emacs для perl.

У меня нет проблем с навигацией по Perl из VIM. «Cs add cscope.out» из командного режима vim делает работу за меня.В emacs, однако, с одной и той же базой данных cscope (которая имеет символы C ++ и perl), emacs прекрасно распознает мои символы C (Mx Mx cscope-find-global-definition).Но для символов Perl я получаю следующую ошибку:

Ошибка: поиск глобального определения: somePerlFunction Поиск завершен.
Время поиска = 0,92 секунды.Совпадений не найдено.

Поддерживает ли emacs навигацию по Perl-коду?Если нет, разве это не главный недостаток?Может кто-нибудь, пожалуйста, помогите?

1 Ответ

1 голос
/ 02 июля 2011

Да, Emacs поддерживает cscope, есть несколько вариантов:

http://www.emacswiki.org/emacs/CScopeAndEmacs

Я только что протестировал xcscope.el в GNU Emacs 24, и, похоже, он работает нормально.

Если у вас уже есть база данных cscope, я предлагаю запустить cscope из командной строки, используя флаг -d:

cscope -d

Используйте опцию «Найти это глобальное определение» для поиска вашего символа. Если вы не получили никаких результатов, проблема связана с cscope, а не с Emacs. Если вы нашли результаты, пожалуйста, предоставьте более подробную информацию, например, какой метод интеграции cscope с Emacs вы используете, какая версия Emacs и пример кода perl, который можно использовать для воспроизведения проблемы.

Вы также можете исследовать cedet:

http://cedet.sourceforge.net/

...