Автоматический импорт модулей с помощью emacs-jedi
С помощью Romamacs вы можете сделать что-то вроде этого:
M-x rope-auto-import
Это анализирует код (я предполагаю) и импортирует отсутствующие модули, например, если я пишу:
datetime.now()
он должен сделать импорт для меня, добавив эту строку:
from datetime import datetime
(он всегда использует from ... import ...
форма)
Есть ли подобная функция в emacs-jedi?
2 ответа
Джедай пока не поддерживает автоматический импорт. (И поэтому очевидно, что 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))