是否有任何技巧可以让Sublime Text的Python自动完成功能从buildout的[eggs]部分中了解所有鸡蛋
E.g。获取与Plone生成的bin/instance
命令相同的sys.path并将它们暴露给Sublime的自动完成。在此之后,您可以轻松地自动完成导入和填充。
优选的解决方案是
由buildout生成特殊bin/sublime
命令
这个命令会打开src/
文件夹作为Sublime文本(项目?),包含所有必要的环境变量和设置
其他解决方案/想法欢迎。
答案 0 :(得分:6)
检查http://pypi.python.org/pypi/corneti.recipes.codeintel/0.1.3
这比Martin的解决方案更容易,我在我的development.cfg buildout中将omelette与这样的部分一起使用
[codeintel]
recipe = corneti.recipes.codeintel
eggs = ${buildout:eggs}
extra-paths =
${omelette:location}
答案 1 :(得分:4)
我和Martin Aspelli一样,使用SublimeCodeIntel plugin;与collective.recipe.omelette一起,这填补了我所有的代码完成需求。 Martin发表了关于他的设置的博文,包括为您设置CodeIntel配置文件的小脚本:
http://www.martinaspeli.net/articles/sublime-text-2-for-zope-and-plone
答案 2 :(得分:1)
对于那些有兴趣使用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)
这些构建方法虽然很花哨!
答案 3 :(得分:1)
这是另一个扩展配方plone.recipe.sublimetext,它支持SublimeText 3
一个最好的自动完成插件SublimeJEDI,SublimeLinter(flake8,pylint)。
此配方将创建包含所有路径的buildout特定的sublime项目文件(即Jedi的所有egg路径)。简单的用例可能是
[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