SublimeCodeIntel y PyQ4

Estoy usando el complemento Sublime Text 2 y SublimeCodeIntel. Quiero completar un código para PyQt4 pero recibo la notificación "... no se pudo resolver la primera parte...". Para las bibliotecas de Python, la finalización del código funciona de maravilla.

¿Es posible configurar SublimeCodeIntel para completar el código para PyQt4?

gracias por la ayuda pavel

========== ACTUALIZACIÓN ============
Mi configuración para este complemento:

{
    "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"
            ]
    }
}

========== ACTUALIZACIÓN ===========
Creé un nuevo archivo cix que contiene algo así:

<?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>

Después de eso, puse el archivo en el lugar correcto y verifiqué que el archivo esté cargado. Pero este archivo no ayudó y parece que SublimeCodeIntel lo ignoró por algo. No puedo encontrar un lugar y una razón por la cual está haciendo eso.

Si tienes alguna idea por favor ayuda.

=============== ACTUALIZACIÓN ================
Parece que está funcionando. Reinicié Sublime Edit y cambié el código así:

import PyQt4.QtCore
PyQt4.QtCore.

Después de completar el último código de puntos, se muestra que QAbstractEventDispatcher está disponible. Eso significa que el archivo cix está funcionando pero hay algún problema con el formato o tal vez algún problema con la codificación. Hay algo extraño también. Solo funciona la importación de PyQt4.QtCore. Para las siguientes líneas, este archivo cix no funciona:

import PyQt4
PyQt4.QtCore.

from PyQt4 import *
QtCore.

from PyQt4.QtCore import *
QAbstractEventDispatcher.

¿Tienes alguna idea de lo que está pasando? Pawel

preguntado el 02 de julio de 12 a las 10:07

¿Ha configurado sus bibliotecas de Python en el archivo de configuración .codeintel? -

Actualicé mi publicación y puse mi configuración. La mayor parte de la configuración es de la página SublimeCodeIntel Github. -

Parece que el archivo CIX funciona para XML muy simple y solo en una situación específica. Publiqué mi observación como otra actualización. ¿Qué piensas? -

@Pawel ¿Ha logrado hacerlo utilizable en SublimeCodeIntel? Copié tu muestra aquí. Pero incluso el más simple no funciona aquí. Por cierto, estoy usando python2.7. -

1 Respuestas

Las bibliotecas de Codeintel se originan en el IDE de Komodo y las soluciones que funcionan para ese IDE también funcionan con SublimeCodeIntel.

Lo que necesitas son Archivos CIX (codeintel XML) que describen las bibliotecas binarias en cuestión. Y da la casualidad de que alguien creó dichos archivos para PyQT4 y los vinculó desde una respuesta de StackOverflow: El autocompletado no funciona con PyQT4 y PyKDE4 en la mayoría de los IDE.

El propio equipo de Komodo también ha generado dichos archivos, y proporcionó una entrada de preguntas frecuentes para ellos.

El truco, por supuesto, es cómo hacer que SublimeCodeIntel reconozca estos catálogos. Cualquier archivo CIX colocado en el SublimeCodeIntel/libs/codeintel2/catalogs/ La biblioteca codeintel debe cargar la ruta. Por lo general, esto se encuentra dentro de su directorio Sublime Packages, accesible desde el Preferences menú (busque Browse Packages...).

No creo que haya ninguna forma de configurar SublimeCodeIntel para buscar rutas adicionales para estos.

contestado el 23 de mayo de 17 a las 13:05

Descargué el archivo cix y puse este archivo en la carpeta correcta. Verifiqué que el archivo está cargado y seleccionado. Después de eso, todavía no tengo la finalización del código y no sé por qué. Estoy usando el último Sublime Text 2 y el último complemento SublimeCodeIntel y el último PyQt4. - Pawel

@Pawel: lo siento, no tengo otras ideas en este momento; hay un problema relacionado pero cerrado en el proyecto SCI; Agregué un comentario solicitando una confirmación de que el complemento carga archivos de catálogo adicionales. - Martijn Pieters

Hola, encontré la solución parcial. Eliminé de su archivo todos los parámetros del documento y cambié el nombre y la descripción a algo más simple PyQt4. Después de cambiar mtime a 201207021815. Guarde el archivo, cierre Sublime Edit, elimine caché, ejecute Sublime Edit (reinicie de nuevo). Después de eso, la finalización del código PyQt4 está funcionando. Estupendo. Los archivos Cix están funcionando. Tal vez no del todo, pero están funcionando. Gracias. - Pawel

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.