Расширение Emacs для Python Auto Complete
Я ищу расширение, которое поможет в автозаполнении Python в Python.
Если я наберу следующий код:
a = [4,5,6]
a.p
Тогда я ожидаю, что это даст мне предложение для pop
так как это один из методов списка Python. Это достижимо в Emacs?
Я попытался установить Rope, Rope mode, Ropemacs и Pymacs. Предложение автозаполнения, которое я получаю, это не методы списка. Но это подсказывает мне что-то вроде print
и т.д. Я что-то не так делаю?
3 ответа
Попробуйте Jedi.el. AFAIK, это должно поддержать твой пример.
У меня работает с vimrope
с https://github.com/python-rope/ropevim/ (сейчас официальный сайт всех веревочных проектов)
Поскольку переменные Python не имеют типов, трудно узнать, какой класс объекта будет содержать переменная в заданной точке вашего кода. Представьте, если ваш код позже сделал a = 1
, Emacs должен знать, когда переменная a ссылается на список и когда он ссылается на число, чтобы предложить правильное завершение. Обычно это невозможно без фактического запуска кода.