Как решить проблемы с просмотром кода на языке python и с кодом завершения в vim?
Я работаю над большим проектом python, используя vim с tagexplorer, pythoncomplete и ctags. Функциональные возможности просмотра кода и кода, основанные на тегах, не работают так, как они должны, к сожалению, потому что ctags не связывает экземпляры с типами.
Гипотетические сценарии:
- Auto Complete: vim не будет автоматически завершить метод
on()
в myCar.ignition().on()
, потому что ctags не знает, что ignition()
возвращает TypeIgnition
.
- Просмотр кода: vim не будет просматривать
TypeCar
, когда я нажимаю myCar
, но вместо этого представляет мне несколько совпадений определений, неправильные совпадения или отсутствие совпадений, потому что ctags не возвращает и не связывает экземпляры с типами.
Проблема, похоже, связана с тем, что python является динамически типизированным языком. Ни один из сценариев не представляет проблемы иначе. Есть ли эффективная альтернатива кодовому просмотру и расширению кода на основе тегов и плагин IDE или vim, который хорошо его реализует?
Примечание: Пожалуйста, проголосуйте "повторно открыть". Решения этой проблемы ценны для сообщества. Вопрос изначально был сформулирован очень смутно, что уже не так.
Ответы
Ответ 1
Коммерческая IDE для python like wing (www.wingware.com) и pycharm (www.jetbrains.com/pycharm) лучше решать большинство проблем с завершением кода. Конечно, они не являются бесплатными. Я сам, когда использование eclipse с плагином pydev не получило удовлетворительных результатов.