Автодополнение Python с поддержкой сборки для Sublime Text

Есть ли какие-нибудь хитрости, как можно сделать так, чтобы автозаполнение Sublime Text Python знало обо всех яйцах из раздела buildout [eggs]

Например. возьмите тот же sys.path, что и в сгенерированной Plone команде bin/instance, и предоставьте их автодополнению Sublime. После этого вы можете легко автозаполнить импорт и прочее.

Предпочтительным решением будет

  • Иметь специальную команду bin/sublime, сгенерированную buildout

  • Эта команда откроет папку src/ как Sublime text (проект?) со всеми необходимыми переменными среды и набором материалов.

Другие решения/идеи приветствуются.


person Mikko Ohtamaa    schedule 10.05.2012    source источник


Ответы (4)


Проверьте http://pypi.python.org/pypi/corneti.recipes.codeintel/0.1.3

Это даже проще, чем решение Мартина, я использую его вместе с омлетом с такой частью в моей сборке development.cfg.

[codeintel]
recipe = corneti.recipes.codeintel
eggs = ${buildout:eggs}
extra-paths =
    ${omelette:location}
person Franklin Kingma    schedule 10.05.2012
comment
Я хочу сгенерировать .codeintel в src/, чтобы файловый браузер Sublime видел только соответствующие файлы... src/, которые вы редактируете. Хотя, если омлет не находится в пути проекта, CMD + P go anyware, похоже, не работает. Будет расследовать дела. - person Mikko Ohtamaa; 11.05.2012
comment
Рецепт получил обновление 0.2.0 с некоторыми улучшениями, которые я сделал: github.com/fabiocorneti/corneti. recipes.codeintel - person Mikko Ohtamaa; 25.05.2012

Я, как и Мартин Аспелли, использую плагин SublimeCodeIntel; вместе с коллективным.рецептом.омлетом это заполняет все мои потребности в завершении кода. Мартин написал в блоге о своей настройке, включая небольшой скрипт, который настраивает для вас файл конфигурации CodeIntel:

http://www.martinaspeli.net/articles/sublime-text-2-for-zope-and-plone

person Martijn Pieters    schedule 10.05.2012
comment
Кстати, у меня очень хороший опыт работы с плагином SublimeRope ST2 для автозаполнения Python. - person Armando Pérez Marqués; 11.05.2012

Для тех, кто заинтересован в использовании SublimeRope вместо этого, вы можете добавить что-то вроде этого в свой .ropeproject/config.py:

import os
import glob
for path in glob.glob(os.path.join(os.path.dirname(__file__), '../../buildout-cache/eggs/*.egg')):
    prefs.add('python_path', path)

Однако эти методы построения довольно причудливы!

person Daniel    schedule 06.06.2012

Это еще один рецепт сборки plone.recipe.sublimetext, который поддерживает SublimeText 3 с одним из лучших плагинов автозаполнения SublimeJEDI, SublimeLinter (flake8, pylint).

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

[buildout]
eggs =
# All eggs here
parts = 
    sublimetext
#   other parts here
[sublimetext]
recipe = plone.recipe.sublimetext
eggs = ${buildout:eggs}
jedi-enabled = True
sublimelinter-enabled = True
sublimelinter-flake8-enabled = True
person Nazrul    schedule 17.05.2017
comment
готовится новый выпуск, позволяющий использовать омлет в качестве основы для завершения джедая и перехода к определению. - person sunew; 11.08.2017