我正在使用 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 文件正在运行,但可能存在格式问题或编码问题。还有一点很奇怪。只有 import 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 。
Komodo 团队自己也生成了这样的文件,以及 provided a FAQ entry for them 。
当然,诀窍是如何让 SublimeCodeIntel 承认这些目录。放置在 SublimeCodeIntel/libs/codeintel2/catalogs/
路径中的任何 CIX 文件都应该由 codeintel 库加载。通常这位于您的 Sublime Packages 目录中,可从 Preferences
菜单(查找 Browse Packages...
)访问。
我认为没有任何方法可以配置 SublimeCodeIntel 来查找这些的其他路径。
关于python - SublimeCodeIntel 和 PyQ4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11290631/