Pascal con VS Code: Ejecución y formato de código

Continuando con uno de los post anteriores sobre la integración de Pascal en VS Code, en esta entrada seguiremos viendo dos puntos adicionales asociados que nos ayudarán a facilitar y mejorar el uso.

Integración en la ejecución:

Hasta lo visto en el post mencionado, logramos configurar de forma correcta la compilación de nuestro código en Pascal, pero nos quedaba integrar la ejecución. Lo primero que haremos para ello es instalar la extensión que nos permitirá ejecutar usando GDB, el depurador utilizado por Pascal. Como ya vimos, esto lo haremos presionando Ctrl+P en VS Code y ejecutando el siguiente comando:

ext install webfreak.debug

Una vez finalizada la instalación de la extensión y reinicializado VS Code, si presionamos la tecla F5 (atajo de teclado para la ejecución) se nos solicitará el entorno de desarrollo a usar. Como mencionamos la opción a utilizar es GDB:

VSCodePascal - SeleccionEjecucion

Una vez realizada la selección del mismo se agregará el archivo launch.json dentro de la carpeta .vscode con el siguiente contenido de ejemplo para que nosotros apliquemos la configuración deseada:

VSCodePascal - LaunchPorDefecto

Realmente para este caso sólo deberemos hacer es algunos ajustes mínimos para lograr ejecutar nuestra aplicación.

Lo primero será modificar el valor del atributo target para colocar el nombre de la aplicación que estamos desarrollando en nuestro entorno (debería ser el de nuestro programa con la extensión exe).

Lo siguiente será indicar la terminal sobre la cual ejecutaremos nuestra aplicación, ya que por defecto lo hará en la integrada en VS Code. De esta forma el archivo resultante quedará como lo podemos ver a continuación:

{
"version": "0.1.0",
"configurations": [
{
"name": "Debugger",
"type": "gdb",
"request": "launch",
"target": "Demo.exe",
"cwd": "${workspaceRoot}",
"terminal": "cmd"
}
]
}

view raw
launch.json
hosted with ❤ by GitHub

Con esto ya tenemos nuestra configuración realizada, por lo cual mediante el comando Ejecutar tendremos la integración correspondiente:

VSCodePascal - EjecucionIntegrada

 

Formateado del código:

Una de las funcionalidades que nos suelen ofrecer algunos IDE’s es la posibilidad de darle formato a nuestro código de forma automática. Es decir la tabulación del código y los saltos de línea correspondientes según el estándar del lenguaje. VS Code ofrece un punto de integración para esto, y en el caso del lenguaje Pascal tenemos la posibilidad de configurar esta característica por la instalación de la extensión Pascal.

Lo que debemos hacer es ir a la opción Preferencias > Configuración del usuario. Allí nos aparecerá la siguiente pantalla, donde a la izquierda están las configuraciones generales (solo lectura) y a la derecha las que nosotros configuremos, sobre-escribiendo las originales:

VSCodePascal - SettingsPorDefecto

Será entonces en la parte derecha donde trabajaremos con nuestra configuración. Para este propósito particular, lo que deberemos hacer es agregar las configuraciones para los atributos pascal.formatter.engine y “pascal.formatter.enginePath de la siguiente forma (si nuestro archivo no tenía nada como en nuestro ejemplo, quedará tal cual se muestra):

{
"pascal.formatter.engine": "ptop",
"pascal.formatter.enginePath": "C:\\FPC\\3.0.0\\bin\\i386-win32\\ptop.exe"
}

view raw
settings.json
hosted with ❤ by GitHub

En la primera configuración indicamos el motor de formato que se debe utilizar, y en la segunda la ubicación del mismo (la indicada es la ubicación estándar de la instalación, tener en cuenta la versión de FPC utilizada). En este caso estamos usando ptop, el cual ya viene por defecto con la instalación de FPC, sin embargo podrá usarse jcf también.

Una vez que tengamos esta configuración, si realizamos el formateo del código con el atajo Shift+Alt+F veremos que el mismo se ajusta de forma correcta:

VSCodePascal - FormatoCodigo.gif
Formato de código automático

 

Más allá del uso o no de Pascal como lenguaje de programación, espero que con estos post’s haya quedado de manifiesto la potencialidad que tiene VS Code como IDE de desarrollo en general, yendo mucho más allá de un simple editor de texto genérico. A mi criterio está muy bien planteada la idea original, teniendo un IDE liviano, multiplataforma, extensible y que nos da la libertad para trabajar con el lenguaje de nuestra preferencia a partir de distintas extensiones y puntos de integración.

Gracias por leer!!

14 comentarios sobre “Pascal con VS Code: Ejecución y formato de código

    1. Buenas, muchas gracias!
      Si el compilador tiene un argumento para indicar eso, lo podrías agregar dentro del archivo tasks.json. Y luego vas a tener que modificar el launch.json para que use ese nuevo nombre de ejecutable.
      Saludos!

      Me gusta

  1. Buenas, estoy teniendo un problema.
    Luego de realizar todo, al darle F5 para ejecutar, me salta este error:
    “Failed to load MI Debugger: Error: write EPIPE”,
    Como lo soluciono?
    Saludos

    Me gusta

      1. Este es el contenido:

        {
        “version”: “0.1.0”,
        “configurations”: [
        {
        “name”: “Debugger”,
        “type”: “gdb”,
        “request”: “launch”,
        “target”: “Demo.exe”,
        “cwd”: “${workspaceRoot}”,
        “terminal”: “cmd”
        }
        ]
        }

        Me gusta

          1. Si, estoy usando el mismo nombre…
            Estuve buscando por muchos lados pero no hay mucha informacion acerca del tema ni del error…
            Creo igual que el problema esta en mi task.json:
            {
            “version”: “0.1.0”,
            “windows”: {
            “command”: “C:\\FPC\\3.0.0\\bin\\i386-win32\\fpc.exe”
            },
            “isShellCommand”: true,
            “showOutput”: “always”,
            “args”: [
            “Demo”
            ],
            “problemMatcher”: {
            “owner”: “external”,
            “pattern”: {
            “regexp”: “^([\\w]+\\.p)\\((\\d+)\\,(\\d+)\\)\\s(Fatal|Error|Warning|Note):(.*)”,
            “file”: 1,
            “line”: 2,
            “column”: 3,
            “message”: 5
            }
            }
            }

            (tengo el programa instalado en otro disco que no es el C)

            Me gusta

  2. Que tal Diego? Después de tanto volvi a probar, y vi que me contestaste y actualizaste la entrada anterior, te agradezco x eso. Ahora estoy metiendo mano con esta entrada, y probando varios codigos, al presionar f5 se me abre un cmd y se cierra instantaneamente, poniendo varios readln() abajo como para que no pase, ya que es un error tipico de pascal, pero ni con eso se arregla. También otra cosa sobre el post este, es que lo de formatear el codigo automaticamente esta desactualizado a la nueva version de vs code, lo más cercano que encontre fue meterme a la pestaña file, despues preferences, despues user settings pero no me encuentro con lo que vos publicas. Y por ultimo, también me interesó eso de si se podia actualizar solo el json para que no tengamos que estar cambiandolo por el nombre del archivo cada vez que lo usamos, que también diste una respuesta a una versión vieja. Estaría buenisimo si pudieras pegarle un ojo a eso, más allá de que entiendo que son varias cosas las que marqué. Saludos y gracias.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s