2012-11-02 65 views
3

如何设置自动完成以在Emacs 24中使用python.el的ropemacs?使用ropemacs与Emacs中的python.el进行自动完成

我在.emacs文件

; Auto-complete: 
; -------------------------- 
(add-to-list 'load-path "~/.emacs.d/auto-complete/auto-complete-1.3.1") 
(require 'auto-complete-config) 
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/auto-complete-1.3.1/dict") 
(ac-config-default) 

; Auto-complete rope integration: 
; -------------------------- 
(ac-ropemacs-initialize) 
(add-hook 'python-mode-hook 
     (lambda() 
    (add-to-list 'ac-sources 'ac-source-ropemacs))) 

以下,但这似乎并没有足以让的Python方法,类成员等。(在自动完成提示)的自动填充。

例如

my_text = "hello world" 
my_text. 

不显示任何可能的String类的自动填充。

通过上述配置,自动完成自身对于通用自动完成(以及目录)非常适用。

回答

6

如果我可能会建议,请尝试emacs-jedi,如果您只是想自动完成并提供文档帮助。

这是 比较新,在发展初期阶段 成熟和可靠的工作,比绳索路线更好。

+0

谢谢!为什么它比绳索更好?有什么区别? –

+2

@ user273158有两个原因,1)它专门为自动完成支持python而编写的,它是jedi的封装(https://github.com/davidhalter/jedi)。 2)包的作者是超级活跃的。 – kindahero

+0

我完全同意;在设置好几小时后我正在尝试使用ropemacs,而且速度非常慢,所以看到这个之后,我尝试了emacs-jedi,现在一切都很纯真。 – altschuler