4

SublimeText2とSublimeCodeIntelプラグインを使用しています。PyQt4のコードを完成させたいのですが、「...最初の部分を解決できませんでした...」という通知を受け取ります。Pythonライブラリの場合、コードの完成は素晴らしい働きをします。

PyQt4のコード補完を持つようにSublimeCodeIntelを構成することは可能ですか?

助けてくれてありがとう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.

何が起こっているのか、何かアイデアはありますか?パウエル

4

1 に答える 1

3

codeintel ライブラリは Komodo IDE に由来し、その IDE で機能するソリューションは SublimeCodeIntel でも機能します。

必要なのは、問題のバイナリー・ライブラリーを記述したCIX (codeintel XML) ファイルです。そして、たまたま、誰かが PyQT4 用にそのようなファイルを作成し、StackOverflow の回答からそれらにリンクしました: Autocompletion not working with PyQT4 and PyKDE4 in the most of the IDEs

Komodo チーム自身もそのようなファイルを生成し、FAQ エントリを提供しています

もちろん、秘訣は、SublimeCodeIntel にこれらのカタログを認識させる方法です。パスに配置されたすべての CIX ファイルはSublimeCodeIntel/libs/codeintel2/catalogs/、codeintel ライブラリによってロードされる必要があります。通常、これは Sublime Packages ディレクトリ内にあり、Preferencesメニューからアクセスできます ( を探しますBrowse Packages...)。

これらの追加パスを調べるように SublimeCodeIntel を構成する方法はないと思います。

于 2012-07-02T09:08:53.390 に答える