繁体   English   中英

Sublime Text的Buildout-aware Python自动完成功能

[英]Buildout-aware Python autocompletion for Sublime Text

是否有任何技巧可以让Sublime Text的Python自动完成功能识别buildout的[eggs]部分中的所有蛋

例如,获取与Plone生成的bin/instance命令相同的sys.path,并将它们暴露给Sublime的自动完成。 在此之后,您可以轻松地自动完成导入和填充。

一个更好的解决方案是

  • 具有buildout生成的特殊bin/sublime命令

  • 这个命令会打开src/文件夹作为Sublime文本(项目?),包含所有必要的环境变量和设置

其他解决方案/想法欢迎。

请查看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}

我和Martin Aspelli一样,使用SublimeCodeIntel插件 ; 与collective.recipe.omelette一起,这填补了我所有的代码完成需求。 Martin写了关于他的设置的博客,包括为您设置CodeIntel配置文件的小脚本:

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

对于那些对使用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)

那些构建方法虽然很花哨!

这是另一个扩展配方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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM