LINUX.ORG.RU

Автодополнение в буфере IPython

 


2

2

Всем привет!

Настраиваю emacs для программирования на python.

Настроил автодополнение через company-mode, в качестве бекэнда использую jedi. Вот настройки:

(require 'company)
(add-hook 'after-init-hook 'global-company-mode)

(setq company-minimum-prefix-length 0)
(setq company-idle-delay 0)
(setq company-echo-delay 0)

(defun my/python-mode-hook ()
(add-to-list 'company-backends 'company-jedi))
(add-hook 'python-mode-hook 'my/python-mode-hook)

(setq jedi:complete-on-dot t)
(setq jedi:use-shortcuts t)

Вопросы такие:

1. Для программирования на python нужно какие-то дополнительные бекэнды для company настраивать? Поделитесь своим must have списком бекэндов для company.

2. Почему когда я пытаюсь выполнить автодополнение в буфере с запущенным IPython в этом буфере company отключается (хотя до попытки автодополнения company-mode активен) и появляется буфер *Python Completions*. Это так и должно быть или я что-то не правильно настроил?

3. Можно сделать так, чтобы автодополнение в буфере *IPython* показывалось в выпадающем окошке (pop up menu) как при редактировании кода?


Еще вот что заметил

Если запускаю на выполнение весь скрипт командой py-execute-buffer, то запускается ipython (буфер IPython3), и в нем автодополнение company не работает. Могу вручную включить company-mode, но после первого же автодополнения company выгружается.

Если отрыть shell (M-x shell), в ней запустить ipython, то в этом случае company работает без вопросов (автодополнение работает, варианты дополнения появляются в выпадающем меню).

Можно каким-нибудь способом отправить на выполнение python скрипт в ipython, работающий в буфере shell?

pol01
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.