¿Hay alguna herramienta disponible para facilitar los errores de rastreo en los bloques del modo org? (Estoy trabajando con Python específicamente)
Mi flujo de trabajo actual es copiar código que funciona en un bloque de origen e intentar realizar solo modificaciones mínimas. Si se producen errores importantes, lo copio de nuevo a otro archivo o enredo el bloque y depuro el archivo resultante.
¿Me falta alguna herramienta? (por ejemplo, algo así como el modo de compilación donde lo llevaría a la línea en la que se encuentra el error).
Editar: por ejemplo, acabo de encontrar Cc Cv v, que muestra un búfer con referencias noweb expandidas. Desafortunadamente, no incluye argumentos de encabezado, por lo que el código de esto no se puede ejecutar sin importarlos primero en el intérprete. Del mismo modo, si tengo una declaración return, eso evita que se ejecute, y el búfer no es editable, por lo que toma varios pasos para obtener una fuente ejecutable desde un bloque de Python.
(org-src-debug)
. Esto tiene la ventaja de que puede depurar bloques de código fuente con argumentos de entrada.:session
encabezado a tu bloque de código? por ej:session *my-python*
. Luego solo mire la ejecución del script en el*my-python*
búfer en otro marco o ventana. ¿Supongo que quieres algo más sofisticado que esto correcto?Respuestas:
Método 1
Agregue
:session
encabezado a su bloque fuente.En el ejemplo, el uso del encabezado : session ejecutará el código dentro de un búfer con nombre
*my-python*
y mostrará mensajes de depuración.Método 2
Coloque el punto en el bloque de código y edite el bloque usando C-c ', es decir
org-edit-special
. Este método le permitirá utilizar lapython-mode
funcionalidad incorporada.Inicie el intérprete de python con C-c C-p, que dividirá la ventana y abrirá el nombre del búfer
*Python*
. Para cambiar al búfer de intérprete de Python, presione C-c C-z.Cuando termine, propague su código actualizado en el bloque de código con C-c 'o descarte cualquier cambio con C-c C-k.
fuente