Emacs: завершенные методы базового класса для Python

Можно ли сделать либо jedi.el или же anaconda-mode полные методы базового класса? Например, при создании подклассов html.parser.HTMLParser Я ожидаю, чтобы завершить следующий код в точке (1) (базовый класс имеет такие методы, как handle_data или же handle_starttag):

import html.parser
class MyParser(html.parser.HTMLParser):
    def handle_  # (1)

1 ответ

Решение

Я провел некоторое исследование по этой проблеме и обнаружил, что она реализована в последней версии jedi (0.10.0). К сожалению, эта версия находится в стадии разработки и не доступна из pip. Тем не менее, многие редакторы используют 0.10.0: Atom, VsCode и даже jedi-vim от автора jedi.

Обновление версии джедая в режиме анаконды легко: https://github.com/nightuser/anaconda-mode. Фактическое изменение - только одна строка. Часть Python anaconda-mode должна быть переустановлена ​​- просто удалите anaconda-mode каталог. Расположение по умолчанию ~/.emacs.d/anaconda-mode для Emacs и ~/.emacs.d/.cache/anaconda-mode для Spacemacs.

upd: Похоже, что скоро выйдет 0.10.0: https://github.com/davidhalter/jedi/issues/740.

upd2: он был выпущен и знаю, что все работает из коробки. Просто удали anaconda-mode каталог, и он автоматически установит последнюю версию.

Другие вопросы по тегам