使用ropemacs,您可以执行以下操作:
M-x rope-auto-import
Run Code Online (Sandbox Code Playgroud)
这会分析代码(我假设)并导入丢失的模块,例如,如果我写:
datetime.now()
Run Code Online (Sandbox Code Playgroud)
它应该通过添加此行来为我导入:
from datetime import datetime
Run Code Online (Sandbox Code Playgroud)
(它总是使用from ... import ...表格)
emacs-jedi中有类似的功能吗?
我正在尝试使用marmalade包管理器按照以下说明安装Jedi for emacs - http://tkf.github.io/emacs-jedi/latest/.包管理器安装Jedi及其依赖项.但我不能使用以下命令安装python服务器:
M-x jedi:install-server
Run Code Online (Sandbox Code Playgroud)
因为即使在jedi安装后重启emacs后该命令也不可用.唯一可用的命令是:
Possible completions are:
jedi:ac-setup jedi:complete
jedi:dot-complete jedi:get-in-function-call
jedi:goto-definition jedi:goto-definition-next
jedi:goto-definition-pop-marker jedi:setup
jedi:show-doc jedi:show-jedi-version
jedi:start-dedicated-server jedi:stop-server
jedi:toggle-debug-server
Run Code Online (Sandbox Code Playgroud)
我的.emacs有以下内容:
(autoload 'jedi:setup "jedi" nil t)
(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)
Run Code Online (Sandbox Code Playgroud)
我在Mac OS X上使用emacs.
在当前打开任何python文件的状态下(我使用python 2.7),我看到以下内容会自动出现在迷你缓冲区中:
deferred error : (error Server may raise an error : Traceback (most recent call last):
File "/Users/t_nithyanandan/.emacs.d/elpa/jedi-0.1.2/jediepcserver.py", line 302, in <module>
main()
File "/Users/t_nithyanandan/.emacs.d/elpa/jedi-0.1.2/jediepcserver.py", line 298, in main
jedi_epc_server(**vars(ns))
File "/Users/t_nithyanandan/.emacs.d/elpa/jedi-0.1.2/jediepcserver.py", line 210, in jedi_epc_server
import_jedi()
File "/Users/t_nithyanandan/.emacs.d/elpa/jedi-0.1.2/jediepcserver.py", …Run Code Online (Sandbox Code Playgroud) 是否可以制作其中一种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)