如何在emacs中正确设置Jedi和elpy?

15
我正在使用emacs和elpy作为Python代码的工作模式。我还安装了Jedi,主要是为了它提供的跳转到定义功能和自动完成。
然而,我在这个设置中遇到了以下问题:
1. Jedi补全不会被键盘命令触发。它会自动出现,但有时对我来说太晚了,我更喜欢尝试并更早地调用它。然而,尽管在自定义页面中有Jedi:Key complete选项,但它似乎没有任何效果。另一方面,elpy的company-mode快捷方式可以在C-M-i上实现相同的功能。
2. 当Jedi和company-mode同时启用时,有时会出现两个补全列表(内容相同;我也安装了company jedi后端),但只有其中一个允许更改选择(Jedi的补全列表),但按Enter键时会使用company的选择。这是不能使用的。
是否有任何方法可以设置事情,以便我将从单个源获得带有Jedi后端和Jedi的“go to definition”的自动完成?
这是我目前在我的init.el中设置Jedi的方式:
(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)
1个回答

21
根据elpy文档,您只需要安装elpy包,然后使用以下配置。
(elpy-enable)  
(setq elpy-rpc-backend "jedi")  

就这些了。 您可以访问https://github.com/jorgenschaefer/elpy获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接