编程语言
首页 > 编程语言> > python – SublimeCodeIntel和PyQ4

python – SublimeCodeIntel和PyQ4

作者:互联网

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

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

感谢帮助
帕维尔

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

{
    "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.

你有什么想法吗?
帕维尔

解决方法:

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

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

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

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

我认为没有任何方法可以配置SublimeCodeIntel来查找其他路径.

标签:python,sublimetext2,pyqt4
来源: https://codeday.me/bug/20190630/1332882.html