2010-06-03 14 views
7

Pracuję nad moim projektem Django z emacs. W moim virtualenv „postactivate” skryptu Mam następującą prostą komendę:Czy można uczynić Etapy Pythona nieco mądrzejszymi z emacs?

find -L . -type f -name "*.py" | xargs etags -e > /dev/null 2>&1 & 

Plik TAGI generuje dobrze, ale system wydaje się raczej głupie. Gdy kursor jest wywołaniem filtru modelu, np.

MyModel.objects.filter(...) 

i uderzę M-. Czasami Emacs zajmuje mi miejsce gdzie MyModel jest importowany w momencie pliku (rzeczywisty oświadczenie import). Chcę tylko odwiedzić definicje klas, metod i funkcji.

Czy istnieje sposób na ulepszenie etags?

Dzięki, Ryan Kaskel

Odpowiedz

3

Uzyskiwanie poprawnej analizy moduł z językiem jak Python jest bardzo trudne, ze względu na jego dynamiczny charakter najlepszy sposób, aby uzyskać prawidłowe informacje robi analizę statyczną lub heurystyki.

Obecnie najlepszym znaleziskiem jest odkrywanie metod z rozszerzeniem ropemacs, które ma świetne funkcje, takie jak wspomaganie kodu (całkiem sprytne) i sygnatury połączeń.

Niestety, niełatwo jest zrobić to dobrze z ropemacami, należy zainstalować pierwsze pymaki, a następnie skonfigurować różne biblioteki lin. (Pracuję na packaged version of it)

Kolejny pakiet które statycznie analizowania kodu Pythona i produkować „inteligentniejszego tagów” ​​byłoby coś pysmell, ale nie używał go intensywnie

Powiązane problemy