В моих проектах я использую virtualenv
и django
, и я пытаюсь найти более эффективный способ просмотра исходного кода django.ctags с taglist в vim и python virtualenv
Как советовали здесь - Tools to help developers reading class hierarchy faster - я сам установленный с Ctags через
sudo port -v install ctags
и установили VIM плагин taglist
через https://github.com/vim-scripts/taglist.vim
К сожалению, кажется, что ctags
не может найти класс моего Джанго когда Я попытался «прыгать», чтобы просмотреть класс через Ctrl +].
Любые предложения, как я могу получить ctags
, чтобы прочитать исходный код python, расположенный в моем virtualenv?
ОБНОВЛЕНИЕ
С дальнейшими экспериментами, я понял, что ctags
какое-то программа «индексация», которая разбирает через данную директорию/файлы/файл и захватывает все ключевые слова (имена классов, имена методов, функции имена и т. д.), он находит и записывает его в файл. Этот файл может быть обновлен, и vim-плагин taglist
по существу читает его, чтобы узнать, куда мне отправить, когда я делаю Ctrlt по названию класса/метода/функции.
Так я пришел с временным и ручным решением, которое я выполняю в моей Vim, как это: -
:set tags=~/mytags
:! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname
Первая команда говорит мой VIM/taglist, где хранятся мои «индексированные» результаты.
Вторая команда записывает индексированные результаты в ~/mytags
файл с помощью функции поиска рекурсивно (-R
) вниз ~/.virtualenvs/myprojectname
Это работает, но это очень ручной способ сохранить теги и теги изменится, если я, случается, в другом virtualenv
Окружающая среда.
Кто-нибудь знает о автоматизированном способе управления этим процессом ctags
?
была ваша ссылка, указывая на некоторые, где? Я получаю 404. И в отношении вашего примера автокоманды, это немного сложнее, потому что 'vim' должен определить, какой виртуальный ящик python у меня есть, когда он открывает конкретный файл, и я не уверен, что есть способ автоопределить, какие virtualenv файл проекта «принадлежит». –
Ссылка исправлена. Также см. [Этот плагин] (https://github.com/jmcantrell/vim-virtualenv), он должен облегчить работу с virtualenv. – romainl