SublimeCodeIntel和PyQ4

时间:2012-07-02 09:02:10

标签: python pyqt4 sublimetext2

我正在使用Sublime Text 2和SublimeCodeIntel插件。我想为PyQt4完成一些代码,但我收到通知“......无法解析第一部分......”。对于python库,代码完成工作非常棒。

是否可以配置SublimeCodeIntel以使PyQt4完成代码?

感谢您的帮助 的Pawel

==========更新============
我对此插件的配置:

{
    "Python": {
        "python": "C:\\Python32"
            "pythonExtraPaths": [
            "libs",
            "~/Applications/Sublime Text 2.app/Contents/MacOS",
            "/Applications/Sublime Text 2.app/Contents/MacOS",
            "C:\\Python32\Lib\\site-packages"
            ]
    }
}

==========更新===========
我创建了包含类似内容的新cix文件:

<?xml version="1.0"?>
<codeintel name="PyQt4" version="2.0" description="PyQt4">
    <file lang="Python" mtime="201207021718" path="QtCore.pyd">
        <scope ilk="blob" lang="Python" name="PyQt4.QtCore">
            <scope ilk="class" name="QAbstractEventDispatcher">
                <scope ilk="function" name="closingDown" signature="closingDown()"/>
            </scope>
        </scope>
    </file>
</codeintel>

之后我将文件放在正确的位置,然后检查该文件是否已加载。但是这个文件没有帮助,看起来SublimeCodeIntel因为某些东西而忽略了它。我找不到一个地方,也没有理由这样做。

如果您有任何想法,请帮忙。

===============更新================
它看起来像是在工作。我重新启动Sublime Edit并更改代码如下:

import PyQt4.QtCore
PyQt4.QtCore.

在最后一个点代码完成后显示QAbstractEventDispatcher可用。这意味着cix文件正在运行,但格式化或编码问题可能有些问题。还有一些奇怪的东西。只导入PyQt4.QtCore正在运行。对于以下行,此cix文件无效:

import PyQt4
PyQt4.QtCore.

from PyQt4 import *
QtCore.

from PyQt4.QtCore import *
QAbstractEventDispatcher.

你有什么想法吗? 的Pawel

1 个答案:

答案 0 :(得分:3)

codeintel库源自Komodo IDE,适用于该IDE的解决方案也适用于SublimeCodeIntel。

您需要的是描述相关二进制库的CIX (codeintel XML) files。事实上,有人为PyQT4创建了这样的文件,并通过StackOverflow答案链接到它们:Autocompletion not working with PyQT4 and PyKDE4 in most of the IDEs

Komodo团队自己也生成了这样的文件,provided a FAQ entry for them

当然,诀窍是如何让SublimeCodeIntel承认这些目录。放置在SublimeCodeIntel/libs/codeintel2/catalogs/路径中的任何CIX文件都应由codeintel库加载。通常它位于您的Sublime Packages目录中,可以从Preferences菜单访问(查找Browse Packages...)。

我认为没有办法让SublimeCodeIntel查找其他路径。