Python IDLE. Autocompletar / Mostrar terminaciones no funciona

IDLE está siendo muy dudoso en cuanto a cuándo se mostrará un menú de Autocompletar. En los últimos tiempos no ha funcionado en absoluto, o, más específicamente, solo funciona durante una sesión interactiva.

He estado utilizando Code Blocks for C, y me he acostumbrado realmente a las muy buenas funciones de autocompletar, por lo que es un poco frustrante no tenerlas, especialmente al intentar aprender un nuevo marco de trabajo y qué clase está asociada con cuál Métodos, etc, etc.

¿Existe una solución fácil para que IDLE se complete automáticamente? Estoy usando la versión 2.7 de Python.

¿Hay tal vez un editor simple que debería examinar? Probé con Vim, que era un poco demasiado pesado para mis necesidades simples, Ninja, con el que no podía trabajar, y Sublime text 2, con el que no pude conseguir mis cosas de wxpython para jugar. ¿Cuál sería una buena opción? Sin embargo, cualquier cosa similar a Code Blocks sería genial, ¡estaría perfectamente feliz con IDLE si funcionara constantemente!

ACLARACIÓN SOLICITADA: OK, así que parece que puedo tener algo de mi terminología al revés. Por no interactivo, quiero decir, por ejemplo, hacer clic con el botón derecho en un archivo py y seleccionar “editar con IDLE”. Esto trae a colación lo que creo que podría ser descrito como un editor de texto. Puedes ingresar todo lo que codifiques aquí. Una vez que esté listo, presione F5, o seleccione Ejecutar, y se inicia (lo que me he referido como) el terminal interactivo. Es aquí donde puede escribir el código, presionar regresar y al instante evaluar ese código.

Lo que mi pregunta se refiere al anterior, la parte de IDLE en la que edita el código. A veces, mientras se escribe, después de un. mostrará los métodos disponibles o, después de un paréntesis abierto, dará sugerencias sobre los valores esperados. Pero la cosa es que a veces hace estas cosas, a veces no.

Lo único que encontré hasta ahora es que si una sesión de edición de IDLE está conectada con el shell de Python (llamado “modo interactivo” en la pregunta, es decir, después de un bash de ejecutar el script editado), entonces el IDLE “no interactivo” puede autocompletarse. En valores en ventana interactiva. Por ejemplo, si escribo

a = []; a.appen 

y luego presione no hará nada, pero si escribo anteriormente

 a = [] 

en el shell de Python correspondiente, IDLE se autocompletará correctamente.

Así que mi única sugerencia es importar los mismos módulos con los mismos nombres en la ventana de shell de Python para hacerlos “visibles” para el editor IDLE no interactivo.

Tuve el mismo problema con IDLE, porque quiero aprender Qt y, por lo tanto, la autocompletación es muy útil. Como se indica en la configuración de IDLE, puede activar el autocompletado con “Control + Espacio”, por ejemplo, después de un “QtGui”. Luego se abre un menú donde puede desplazarse por las entradas.

En mi caso, tuve que abrir el menú Opciones -> pestaña Extensiones en el editor y asegurarme de que Autocompletar y otras opciones relevantes estuvieran habilitadas. En realidad lo eran, pero simplemente haciendo clic en “Aplicar” aunque no tenía que cambiar nada, el truco me sirvió.

A veces tiene que ver con el tiempo que tiene que esperar para recibir sugerencias.

Cuando vaya a options > extensions > general en la completions popup wait , puede cambiarlo a unos 500 ms. En mi caso fue 2000ms por defecto.

Al usar la ‘ventana del Editor IDLE’, primero debe guardar y ejecutar su código. La aplicación en ejecución, vuelva a la ventana del Editor para utilizar la finalización automática.