Существует ли эквивалент слизи для python?
Например, если я наведу курсор на foo () и сделаю M-. (перейти к определению) Я хотел бы увидеть исходное определение функции foo
Это должно работать независимо от того, находится ли foo в
1) в локальном каталоге проекта
2) в некоторых ~ / .virtualenvs / bar / lib / site-packages
3) в каком-то другом пути python
4) используется виртуальный env (т. е. он должен выглядеть в моем текущем virtualenv)
Делает ли комбинация pymacs / ropemacs какое-либо об этом?
Чтобы избежать -e, вы можете использовать etags и, найдя, вы рекурсивно добавляете файл py:
find . -type f -name '*.py' | xargs etags
M-. обычно запускает функцию « find-tag
».
Вы должны создать файл TAGS для ваших исходных файлов Python. Затем вы " visit-tags-table
" перед выполнением M-.
Таким образом, Emacs перейдет ко всем определениям тега. Введите C-u M-. чтобы перейти к следующему определению вашего тега. См. Справочную документацию по find-tag. Обратитесь к справке Emacs, чтобы узнать, как создать файл TAGS из исходных файлов Python.
Вы можете, например, использовать Exuberant Ctags для создания файла TAGS.
Перейдите в корневой каталог ваших файлов python и сделайте следующее:
ctags -e -R .
Файл TAGS обычно создается в корневом каталоге проекта.