Comunidad de diseño web y desarrollo en internet online

Sublime Code Intel, autocompletado de Python para Sublime Text

Sublime Text 2 es uno de los editores favoritos para muchos en la actualidad, con plugins se convierte en un potente IDE, es ligero y multiplataforma. Por su soporte a múltiples lenguajes es utilizado por una gran cantidad de usuarios, y después de abrirlo por primera vez ya no hay vuelta atrás, gracias a todas las características que nos brinda esta poderosa herramienta.



Una de las cosas que carece en cierta medida es de un buen autocompletado, que otros editores poseen; pero eso se soluciona con uso de plugins, y uno de los más potentes que soporta autocompletado para varios lenguajes es Sublime Code Intel.

Sublime Code Intel soporta: JavaScript, Mason, XBL, XUL, RHTML, SCSS, Python, HTML, Ruby, Python3, XML, XSLT, Django, HTML5, Perl, CSS, Twig, Less, Smarty, Node.js, Tcl, TemplateToolkit, PHP.

El uso es sencillo. Se debe crear una carpeta llamada .codeintel en la raíz del proyecto o ~/.codeintel/config y en esta carpeta se crea un archivo llamado config donde se definirán los entornos e interpretes a usar según el lenguaje, un ejemplo del contenido que puede contener este archivo es lo siguiente:

Código :

{
    "PHP": {
        "php": '/usr/bin/php',
        "phpExtraPaths": [],
        "phpConfigFile": 'php.ini'
    },
    "JavaScript": {
        "javascriptExtraPaths": []
    },
    "Perl": {
        "perl": "/usr/bin/perl",
        "perlExtraPaths": []
    },
    "Ruby": {
        "ruby": "/usr/bin/ruby",
        "rubyExtraPaths": []
    },
    "Python": {
        "python": '/usr/bin/python',
        "pythonExtraPaths": []
    },
    "Python3": {
        "python": '/usr/bin/python3',
        "pythonExtraPaths": []
    }
}


Todos los parámetros son opcionales.

Configurando Sublime Code Intel para trabajar con Python


Para trabajar con Python2/3 solo se debe definir los parametros del intérprete en el archivo .codeintel/config:

Código :

{
    "Python": {
        "python": '/usr/bin/python',
        "pythonExtraPaths": []
    }
}


En la clave "python" se define el binario del intérprete de Python y en "pythonExtraPaths" todos los directorios extras donde se almacenan librerías o proyectos en Python.

En el caso de que se usen entornos virtuales se debe definir las rutas hacia el entorno correspondiente.

Haciendo más fácil el uso de Sublime Code Intel con Python


Yo me tomé la molestia de crear un script de consola para configurar Sublime Code Intel de una manera fácil. El nombre de este script es config_sci.

Lo primero que hay que hacer es crear nuestro entorno virtual, con virtualenv o virtualenvwrapper. Luego activamos el entorno e instalamos config_sci desde pip.

Código :

$ pip install config_sci


Nos situamos en la raíz de nuestro proyecto y ejecutamos

Código :

$ config_sci


Y tendremos nuestro archivo config configurado con todos los datos de nuestro entorno virtual, verificamos con:

Código :

$ cat .codeintel/config


Y nos debería aparecer un archivo con el siguiente formato:

Código :

{
    'Python': {
        'python': '/home/yograterol/.virtualenvs/vault_pass/bin/config_sci',
        'pythonExtraPaths': ['/home/yograterol/.virtualenvs/vault_pass/bin', '/home/yograterol/.virtualenvs/vault_pass/lib64/python2.7', '/home/yograterol/.virtualenvs/vault_pass/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7', '/usr/lib/python2.7', '/home/yograterol/.virtualenvs/vault_pass/lib/python2.7/site-packages/config_sci-0.1.0-py2.7.egg', '/home/yograterol/.virtualenvs/vault_pass/lib/python2.7/site-packages']
    }
}


Y ya, abrimos Sublime Text 2 y empezamos a desarrollar con nuestro autocompletado funcionando perfectamente en nuestro entorno virtual.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate