Расширение 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 ссылается на список и когда он ссылается на число, чтобы предложить правильное завершение. Обычно это невозможно без фактического запуска кода.

Другие вопросы по тегам