nig*_*ser 5 python emacs emacs-jedi
是否可以制作其中一种jedi.el或anaconda-mode完整的基类方法?例如,当子类化时,html.parser.HTMLParser我希望它在点完成以下代码(1)(基类有类似handle_data或的方法handle_starttag):
import html.parser
class MyParser(html.parser.HTMLParser):
def handle_ # (1)
Run Code Online (Sandbox Code Playgroud)
我对这个问题做了一些研究,发现它在最新版本的jedi(0.10.0)中实现了。不幸的是,该版本目前处于开发状态,无法从 pip 中获得。然而,很多编辑器使用0.10.0:Atom、VsCode,甚至jedi作者的jedi-vim。
在 anaconda-mode 下更新 jedi 的版本很容易: https: //github.com/nightuser/anaconda-mode。实际的改变只是一行。anaconda-mode 的 Python 部分必须重新安装——只需删除anaconda-mode目录即可。默认位置是~/.emacs.d/anaconda-modeEmacs 和~/.emacs.d/.cache/anaconda-modeSpacemacs。
upd:看来0.10.0即将发布: https: //github.com/davidhalter/jedi/issues/740。
upd2:它已经发布并且知道一切都是开箱即用的。只需删除anaconda-mode目录,它就会自动安装最新版本。