¿Cómo activar los números de línea en IDLE?

110

En el shell principal de IDLE, los errores siempre devuelven un número de línea, pero el entorno de desarrollo ni siquiera tiene números de línea. ¿Hay alguna forma de activar los números de línea?

Usuario
fuente
3
Vaya, ¿un IDE sin números de línea? ¿Alguien más encuentra eso tan extraño como yo?
Paul Feakins
2
@PaulFeakins Los diseñadores originales de IDLE aparentemente sintieron que el número de línea en la barra de estado y dos formas de ir a un número de línea eran mínimamente suficientes. Y hubo problemas técnicos para hacerlo bien. He usado IDLE a diario y para mi uso casi no los he perdido. En cualquier caso, simplemente los agregamos. Detalles en mi respuesta.
Terry Jan Reedy
1
En Python 3.8 IDLE se ha agregado una nueva opción en la barra de menú: Opciones -> Mostrar números de línea
Diroallu

Respuestas:

149

Versión 3.8 o más reciente:

Para mostrar los números de línea en la ventana actual, vaya a Optionsy haga clic en Show Line Numbers.

Para mostrar de forma automática, vaya a Options> Configure IDLE> Generaly marque la Show line numbers in new windowscaja.

Versión 3.7 o anterior:

Desafortunadamente, no hay una opción para mostrar números de línea en IDLE, aunque hay una solicitud de mejora abierta para esto.

Sin embargo, hay un par de formas de solucionar este problema:

  1. En el menú de edición hay una opción de ir a la línea (hay un atajo predeterminado de Alt + G para esto).

  2. Hay una pantalla en la parte inferior derecha que le indica su número de línea / posición actual en la línea:

ingrese la descripción de la imagen aquí

ChrisProsser
fuente
4
En Mac, el atajo para navegar entre líneas es cmd + j.
tommy.carstensen
6
Si bien esta solución funciona, ¿por qué no se incluyeron las líneas numeradas en la primera versión? Parece una característica obvia. Muy decepcionante que esto no esté incluido.
JayRugMan
Si el uso de corchetes para el alcance es confuso, entonces los números de línea son ciencia espacial.
aj.toulan
2
Se acaba de fusionar un parche mejorado para la solicitud de número de línea, el número 17535. Vea mi respuesta para más detalles.
Terry Jan Reedy
15

Hay un conjunto de extensiones útiles para IDLE llamado IDLEX que funciona con MacOS y Windows http://idlex.sourceforge.net/

Incluye numeración de líneas y lo encuentro bastante útil y gratuito.

De lo contrario, hay un montón de otros IDE, algunos de los cuales son gratuitos: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Davos
fuente
2
Lo crea o no, ahora me gusta mucho el VS Code de Microsoft. Es un gran IDE liviano con complementos de Python realmente buenos. También funciona en mac / linux / windows. Qué mundo tan extraño (bueno) vivimos en el que Microsoft se está convirtiendo en código abierto.
Davos
6

Si está tratando de rastrear qué línea causó un error, si hace clic con el botón derecho en el shell de Python donde se muestra el error de línea, aparecerá un "Ir al archivo / línea" que lo llevará directamente a la línea en cuestión. .

Martín Ghecea
fuente
2

Como lo mencionó Davos, puede usar el IDLEX

Sucede que estoy usando la versión de Linux y de todas las extensiones solo necesitaba LineNumbers. Así que descargué el archivo IDLEX, tomé LineNumbers.py de él, lo copié en la carpeta lib de Python (en mi caso es /usr/lib/python3.5/idlelib) y agregué las siguientes líneas al archivo de configuración en mi carpeta de inicio, que es ~ / .idlerc / config-extensions.cfg:

[LineNumbers]
enable = 1
enable_shell = 0
visible = True

[LineNumbers_cfgBindings]
linenumbers-show = 
StahlRat
fuente
¡Buen truco! Parece que IDLE podría hacer algo similar para incorporar el código y la configuración a su cfg interno (a diferencia de las extensiones cfg) y conectar la opción a la GUI. Probablemente no se molestaron porque IDLEX proporciona la funcionalidad a través de un mecanismo de complemento.
Davos
2

Los números de línea se agregaron al editor IDLE hace dos días y aparecerán en la próxima versión 3.8.0a3 y posterior 3.7.5. Para las ventanas nuevas, están desactivadas de forma predeterminada, pero esto se puede revertir en el cuadro de diálogo Configuración, pestaña General, sección Editor. Para las ventanas existentes, hay una nueva entrada Mostrar (Ocultar) números de línea en el menú Opciones. Actualmente no hay teclas de acceso rápido. Uno puede seleccionar una línea o un bloque de líneas haciendo clic en una línea o haciendo clic y arrastrando.

Algunas personas pueden haberse perdido Editar / Ir a línea. El menú contextual del botón derecho Ir a archivo / línea funciona en la salida grep (Buscar en archivos), así como en los trackbacks.

Terry Jan Reedy
fuente
0

Como ya respondió @StahlRat. Me gustaría agregar otro método para ello. Hay un paquete de extensión para el paquete de extensiones Python del editor inactivo predeterminado de Python .

Akshay Vilas Patil
fuente
0

Como se mencionó anteriormente (una forma rápida de hacer esto):

pip install IDLEX

Luego creo un acceso directo en el escritorio (Win10) como este:

C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"

Las rutas pueden ser diferentes y deben cambiarse:

C:\Python\Python37

(Gracias por las excelentes respuestas anteriores)

Aaron
fuente
¿Está C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"guardado como .bat en Windows?
Ynjxsjmh
Primero, cree el acceso directo de pythonw.exe en el escritorio. En segundo lugar, haga clic derecho en el acceso directo -> propiedad o atributo (R). Tercero, llene Target (T): con C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw". hecho.
Aaron
Gracias, pero descubrí que podemos crear un idlex.batarchivo como lo que Python36\Lib\idlelib\idle.bathace y crear un acceso directo para idlex.bat.
Ynjxsjmh