Как правильно настроить Jedi с помощью elpy в emacs?

Я использую emacs с elpy в качестве режима для работы с кодом Python. Я также установил Jedi, в основном, для двух целей: переход к функциям определения, которые он предоставляет, и автозаполнение.

Тем не менее, я столкнулся со следующими проблемами с этой настройкой:

  1. Джедайское завершение не запускается клавишными командами. Он появляется автоматически, но иногда, на мой вкус, слишком поздно, и я бы предпочел попытаться вызвать его раньше. Однако, несмотря на то, что на страницах настройки есть опция «Jedi: Key Complete», похоже, она не имеет никакого эффекта. С другой стороны, ярлык корпоративного режима elpy делает это на C-M-i.
  2. Когда включены и режим Jedi, и режим компании, иногда появляются два списка завершения (с одинаковым содержимым; у меня также установлен бэкэнд компании jedi), но только один из них позволяет изменить выбор (список завершения от Jedi), но при вводе выбора из компании используется. Это непригодно для использования.

Есть ли способ настроить вещи так, чтобы у меня было автозаполнение из одного источника с бэкэндом джедая и переходом джедая к определению?

Вот как я сейчас устанавливаю джедаев в моем init.el:

(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)

person Srv19    schedule 22.04.2015    source источник


Ответы (1)


Согласно документу elpy, вам просто нужно установить пакет elpy. Затем используйте конфигурацию ниже

(elpy-enable)  
(setq elpy-rpc-backend "jedi")  

Это все. Вы можете посетить https://github.com/jorgenschaefer/elpy для получения дополнительной информации.

person Tinker Sun    schedule 29.04.2015