使用绳索acs,您可以这样做:
M-x rope-auto-import
这将分析代码(我假定)并导入缺失的模块,例如,如果我这样写:
datetime.now()
它应该通过添加这一行来为我完成导入:
from datetime import datetime
(它总是使用from ... import ...
形式)
在emacs-jedi中是否有类似的功能?
Jedi还不支持自动导入。(因此emacs-jedi显然两者都不需要)
还在讨论如何实现重构(包括自动导入)。不过,这可能还需要一年左右的时间。
如果我们忽略jedi部分而只关注emacs部分,那么在安装autoimport后可以使用以下命令。
(defun my-python-autoimports ()
(interactive)
(save-buffer)
(shell-command (s-concat "autoimport " (shell-quote-argument (buffer-file-name))))
(revert-buffer t t))