Python e Intellisense

¿Hay un equivalente a ‘intellisense‘ para Python?

Tal vez no debería admitirlo, pero me parece que tener la inteligencia realmente acelera la “fase de descubrimiento” de aprender un nuevo idioma. Por ejemplo, cambiar de VB.net a C # fue muy fácil debido a los fragmentos y la inteligencia que me ayudaron.

Esta entrada de blog explica cómo configurar Vim como un IDE de Python, él cubre la funcionalidad de tipo Intellisense:

Python Intellsense
(fuente: dispatched.ch )

Esto es estándar en Vim 7. Hay varios otros complementos muy útiles para el desarrollo de Python en Vim, como Pyflakes que verifica el código sobre la marcha y Python_fn.vim que proporciona funcionalidad para manipular la sangría y los bloques de código de Python.

Eche un vistazo a las herramientas de Python para Visual Studio , que proporcionan finalización de código (también conocido como intellisense), depuración, etc.

A continuación se muestra una captura de pantalla del shell interactivo para python que muestra la finalización del código.

introduzca la descripción de la imagen aquí

El entorno PyDev para Eclipse tiene una funcionalidad de tipo intellisense para Python. Mantener una consola interactiva abierta, junto con la función de help(item) es muy útil.

La naturaleza dinámica del lenguaje tiende a dificultar el análisis de tipo autocompletado, por lo que la calidad de las diversas instalaciones de terminación mencionadas anteriormente varía enormemente.

Si bien no es exactamente lo que pediste, el shell ipython es muy bueno para el trabajo exploratorio. Cuando trabajo con un nuevo módulo, tiendo a insertarlo en ipython y empujarlo. Habiendo probado la mayoría de las soluciones mencionadas anteriormente (aunque han pasado años desde Wing), las instalaciones de terminación de ipython son siempre más confiables. Las dos herramientas principales para la exploración están completas en la pestaña y añadiendo un signo de interrogación al nombre del módulo / función para obtener el texto de ayuda, por ejemplo:

 In [1]: import sqlalchemy In [2]: sqlalchemy.s #tab completion sqlalchemy.schema sqlalchemy.select sqlalchemy.sql sqlalchemy.subquery In [2]: sqlalchemy.select? #Shows docstring In [3]: sqlalchemy.select?? #Shows method source In [4]: edit sqlalchemy.select #opens the source in an editor 

Recomiendo encarecidamente PyDev . En Pydev puede colocar el módulo que está usando en Forced Buildins , principalmente la terminación de código funcionará mejor que en otros IDEs como KOMODO EDIT.

También creo que IPython es muy útil. Dado que es ‘tiempo de ejecución’ en IPython, la terminación del código en IPython no se perderá nada.

El editor IDLE que viene con Python tiene una característica inteligente que descubre automáticamente módulos, funciones, clases y atributos importados.

PyCharm es el mejor IDE de Python con soporte de IntelliSense.

Wingware, por ejemplo, implementa autocompletar, consulte http://wingware.com/doc/edit/auto-completion .

Recomiendo Komodo Edit . Sin embargo, debo señalar algo: no vas a obtener nada tan bueno como a lo que estás acostumbrado con el C # intellisense de Visual Studio. La naturaleza dinámica de Python puede dificultar la realización de este tipo de funciones.

ctags + vim funciona bien también, aunque no es tan poderoso como el intellisense. Usando esto con ipython, puede obtener ayuda en línea, completar nombres automáticamente, etc. Pero obviamente eso está orientado a la línea de comandos.

Eclipse + pydev puede hacerlo también, pero no tengo experiencia con él: http://pydev.sourceforge.net/

Bueno, creo que la forma más dinámica de aprender Python es usar iPython .

Obtuvo el autocompletado al usar la pestaña, el comportamiento dynamic porque es un shell y puede obtener la documentación completa de cualquier objeto / método escribiendo:

 object.method ? 

Al desarrollar, estoy de acuerdo en que PyDev es genial. Pero es pesado, así que mientras aprendes, un editor de texto + iPython es realmente bueno.

Pyscripter tiene la mejor inteligencia que he conocido 🙂

Para emacs y VI también hay https://github.com/tkf/emacs-jedi .

Recomendaría jedi-vim , es perfecto para mí, pruébalo y no te arrepentirás.

IronPython es el camino a seguir. Visual Studio tiene la mejor compatibilidad inteligente y puede utilizar eso usando IronPython

Prueba el código visual de estudio. Tiene un soporte muy poderoso de Python y Django y miles de complementos para otros idiomas utilizados en un proyecto de Python, como las plantillas CSS, HTML y Django.

Lo mejor de todo, es gratis: https://code.visualstudio.com