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