Использование emacs CEDET для python

При установке по умолчанию завершения cedet-1.0 можно только отслеживать символы глобальной области видимости в текущем файле. Это не сильно отличается от встроенных функций завершения (dabbrev-expand или hippie-expand).

Он может заполнять символы из ни импортированных модулей, ни свойств класса. Не сказать, что он не может справиться с "я".

Можно ли настроить семантику для выполнения вещей?

P.S. Браузер ECB-кода угадывает все импортные/базовые классы и прочее. Это некорректное выполнение символа или неправильная настройка.

Ответ 1

Поддержка CEDET для каждого языка несколько отличается. В случае с python выпуск 1.0 для CEDET не был настроен для преобразования импорта python в имя файла. Кроме того, "self" аналогичен 'this' в С++, который должен быть добавлен логикой завершения, так как он не объявлен. Эти две функции были добавлены в репозиторий bzr в январе этого года. Я не программист на языке python, но я помню, что это фиксировало ряд наиболее основных функций интеллектуального завершения, чтобы работать с символами из импортированных библиотек. Был также новый код в bzr для путей системы python.

Таким образом, я рекомендую загрузить CEDET из bzr, чтобы получить эти функции, чтобы увидеть, теперь ли он делает то, что вы ожидаете для умного завершения.