pracuję nad dużym projektem Pythona przy użyciu vim z tagexplorer, pythoncomplete i ctags. Oparte na tagach przeglądanie kodu i funkcje do uzupełniania kodu nie działają tak, jak powinny, ponieważ ctags nie wiąże instancji z typami.Jak rozwiązywać problemy z przeglądaniem kodu Pythona i kodowaniem w vimie?
hipotetyczne scenariusze:
- Auto Complete: vim nie autouzupełnianie metoda
on()
wmyCar.ignition().on()
ponieważ ctags nie wie, żeignition()
powracaTypeIgnition
. - Przeglądanie kodu: vim nie przejdzie do
TypeCar
po kliknięciu namyCar
, ale zamiast tego przedstawia mi dopasowania z wieloma definicjami, niepoprawne dopasowania lub brak dopasowań, ponieważ ctags nie cofa i nie przywiązuje instancji do typów.
Problem wydaje się wynikać z tego, że python jest językiem o dynamicznym typie. Żaden z tych scenariuszy nie stanowiłby innego wyzwania. Czy istnieje skuteczna alternatywa dla przeglądania kodu opartego na znacznikach i uzupełniania kodu oraz wtyczki IDE lub vim, które ją dobrze implementują?
Uwaga: Proszę głosować "re-open". Rozwiązania tego problemu są cenne dla społeczności. Pytanie pierwotnie sformułowano bardzo niejasno, to już nie jest tak.
'S/słaby typowania dynamicznego/typowania/' – delnan
że stwierdzone [spyder] (http://code.google.com/p/spyderlib/) na tak około tygodnia. Może przyjrzeć się, jak robią niektóre z ich rzeczy. – John
Nie uważam tego za poważny problem. Czasami używam [ropemacs] (http://rope.sourceforge.net/ropemacs.html) do automatycznego rozwijania, co działa dobrze. Zwykle po prostu wpisuję nazwy atrybutów i nie uważam, że to przeszkadza w wydajności. Gdybym tak zrobił, z pewnością skorzystałbym więcej z ropemaców. –