#python #emacs #navigation
#python #emacs #навигация
Вопрос:
В настоящее время я использую https://github.com/fgallina/python .el ropemacs, но мне не хватает браузера модуля: отдельный буфер, в котором указаны имена, определенные в текущем модуле (список классов с их методами). Google говорит, что существуют OO-browser и emacs-code-browser, но они выглядят устаревшими, и я не могу найти никаких упоминаний об этих библиотеках ни в одном из популярных руководств по emacs python. Что я должен использовать для обеспечения удобной навигации по модулю?
Ответ №1:
Я думаю, что ECB (Emacs Code Browser) стоит попробовать. Я не использую его постоянно, но это может быть очень удобно. Особенно полезным является окно «Методы ECB», в котором отображается схема всех элементов модуля.
Вот скриншот с окном методов ECB в нижнем левом углу:http://dev.pocoo.org /~gbrandl/emacs2.png.
Смотрите также http://www.emacswiki.org/emacs/EmacsCodeBrowser .
Комментарии:
1. Недавно я смог заставить ECB работать с Emacs 24, следуя приведенным здесь инструкциям: github.com/alexott/ecb/tree/new-cedet . Проект SourceForge долгое время не обновлялся, но я думаю, что документация по настройке макета в порядке ( ecb.sourceforge.net/docs /… ).
Ответ №2:
Возможно, occur
это может быть полезно в этом случае. Например, если вы хотите составить список определенных функций: M-x occur RET def RET
следует посетить буфер, в котором перечислены def
.
Комментарии:
1. Отличная простая рекомендация, которая работает в крайнем случае.
2. Действительно, отличный помощник, это прекрасно работает для Python:
M-x occur RET defb|classb|=[ ]?lambda RET
Ответ №3:
M-x speedbar может дать вам то, что вы хотите.
Комментарии:
1. Я получаю список файлов в текущем каталоге, отображаемый в speedbar, но мне нужен список определенных имен (классов, функций) в текущем файле.
2. Я думаю, вы правы, мне действительно нужна M x speedbar и M x imenu, но я не могу заставить это работать…
3. @VladimirMihailenco Нажатие пробела в именах файлов расширяет символы в этом файле.
4. Использую Emacs пару месяцев и никогда не слышал о
speedbar
🙂 Emacs всегда меня поражает 🙂