org-mode – Depurar bloques de código en modo org.

Pregunta:

¿Hay alguna herramienta disponible para facilitar el seguimiento de errores en bloques en modo organización? (Estoy trabajando con Python específicamente)

Mi flujo de trabajo actual es copiar el código que funciona en un bloque fuente e intentar hacer 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.

¿Hay alguna herramienta que me falte? (por ejemplo, algo como el modo de compilación en el que 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 sin referencias web 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. De manera similar, si tengo una declaración de retorno, eso evita que se ejecute y el búfer no es editable, por lo que se requieren varios pasos para obtener una fuente ejecutable desde un bloque de Python.

Respuesta:

Método 1

  1. Agregue :session encabezado de :session a su bloque fuente.

    En el ejemplo, el uso del encabezado de sesión ejecutará el código dentro de un búfer llamado *my-python* y mostrará mensajes de depuración.

     #+BEGIN_SRC python :session *my-python* 'Hello {0}\n'.format('World') #+END_SRC

    Consejos:

    • Utilice Cc Cv Cz para dividir la pantalla verticalmente y mostrar el búfer interactivo *my-python* .
    • ¿Utilizar Cc Cv ? para mostrar otros atajos útiles.

Método 2

  1. Coloque el punto en el bloque de código y edite el bloque usando Cc ' , es decir, org-edit-special . Este método le permitirá utilizar la funcionalidad incorporada en python-mode .

  2. Inicie el intérprete de Python con Cc Cp , que dividirá la ventana y abrirá el nombre del búfer *Python* . Para cambiar al búfer de intérprete de Python, presione Cc Cz .

    Nota: Recientemente noté que en su lugar se mostraba un búfer *Warnings* . Simplemente coloque el punto dentro del búfer *Warnings* y presione q para mostrar el búfer *Python* .

  3. Cuando termine, propague su código actualizado en el bloque de código con Cc ' o descarte cualquier cambio con Cc Ck .


Tenga en cuenta que este código se probó con:
versión emacs: GNU Emacs 26.1
versión del modo org: 9.1.14

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım