5

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

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

一个更好的解决方案是

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

  • 此命令会将src/文件夹作为 Sublime 文本(项目?)打开,并设置所有必要的环境变量和内容

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

4

4 回答 4

6

检查http://pypi.python.org/pypi/corneti.recipes.codeintel/0.1.3

这比 Martin 的解决方案更容易,我将它与 omelette 一起使用,在我的 development.cfg buildout 中有这样的部分

[codeintel]
recipe = corneti.recipes.codeintel
eggs = ${buildout:eggs}
extra-paths =
    ${omelette:location}
于 2012-05-10T21:42:07.247 回答
4

我和 Martin Aspelli 一样,使用SublimeCodeIntel 插件;与collective.recipe.omelette 一起,这满足了我所有的代码完成需求。Martin 在博客中介绍了他的设置,包括一个为您设置 CodeIntel 配置文件的小脚本:

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

于 2012-05-10T20:53:18.783 回答
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)

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

于 2012-06-06T08:16:09.900 回答
1

这是另一个构建配方plone.recipe.sublimetext,它支持SublimeText 3最好的自动完成插件之一 SublimeJEDI,SublimeLinter (flake8, pylint)。

这个配方将创建包含所有路径的特定于 sublime 项目文件的构建(即 Jedi 的所有鸡蛋路径)。简单的用例可能是

[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
于 2017-05-17T04:17:16.513 回答