Emacs与Python代码补全 > 代码补全建议不弹出

3
安装完成后:
[rope]
[ropemode]
[pymacs]
[ropemacs]
[autocomplete 1.3.1]

配置.emacs文件:

(add-to-list 'load-path "~/.emacs.d/autocomplete1.3.1")
(add-to-list 'load-path "~/share/emacs/lisp/")

(setq py-install-directory "~/share/emacs/lisp/")
(require 'python-mode)

(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-autoload "pymacs")

(require 'pymacs)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)

(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/autocomplete1.3.1/ac-dict")
(ac-config-default)

(require 'auto-complete)
(global-auto-complete-mode t)

我在sys.后面打了一个句号,希望得到类似于Komodo Edit的代码自动完成功能。

不幸的是,我最好的办法只能是按下M- /来打开一个分屏代码自动完成缓冲区。

如何在GNU Emacs中实现类似于Komodo-Edit的代码自动完成呢?

这里有一个Pymacs bug把我卡住了:


什么版本的Emacs/平台? - Wooble
GNU Emacs 24.1.1 | Ubuntu 12.04为什么上下文菜单没有显示? - Dave Kirkby
1个回答

1

这里是 ac-config-default 的定义,因为这是配置AC的唯一步骤:

(defun ac-config-default ()
  (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
  (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
  (add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
  (add-hook 'ruby-mode-hook 'ac-ruby-mode-setup)
  (add-hook 'css-mode-hook 'ac-css-mode-setup)
  (add-hook 'auto-complete-mode-hook 'ac-common-setup)
  (global-auto-complete-mode t))

没有Python配置,因此您不能指望AC适用于Python。

设置方法如下:

(add-hook 'python-mode-hook 'ac-ropemacs-setup)

不要介意我自己打广告:这里有AC的备用ropemacs源,因为默认源没有文档:https://github.com/cofi/dotfiles/blob/master/emacs.d/config/cofi-python.el#L75 再次提醒如何配置:
(add-hook 'python-mode-hook (lambda ()
                              (setq ac-source (append ac-source '(ac-source-nropemacs
                                                                  ac-source-nropemacs-dot)))))

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