Compilar y ejecutar con F5 en Visual Studio Code

En este artículo veremos algunos truquillos para personalizar Visual Studio Code con el fin de que programar para Next sea un poco más sencilla, aunque también se puede aplicar a los proyectos para ZX Spectrum “clásico”.

Antes de empezar

En este artículo asumo que ya tienes instalado Visual Studio Code y NextBuild, si no es así te recomiendo que te mires antes el artículo “Preparando el ambiente para programar para Next con Boriel ZX Basic y NextBuild” (https://specnext.dev/es/2022/07/28/preparando-el-ambiente-para-programar-para-next-con-boriel-zx-basic-y-nextbuild/).

Compilar y ejecutar con F5

Para compilar y ejecutar nuestros programas debemos usar la opción “Terminal -> Ejecutar tarea” y seleccionar “Run in CSpect”, ya que si pulsamos F5 es probable que nos encontremos con el siguiente error:

La solución no es demasiado sencilla, pero tampoco es complicada siguiendo estos pasos:

  1. Con nuestro programa .bas abierto en VSCode… Os recomiendo hacer la prueba con un ejemplo de la carpeta “Sources” de NextBuild, ya que esta tiene configurada la tarea de compilación.
  2. Pulsamos F1 y tecleamos “teclado json”
  3. Seleccionamos “Preferencias: Abrir métodos abreviados de teclado (JSON)”
  4. Se abrirá el fichero “keybindings.json”, que contiene las definiciones de teclado personalizadas. En una instalación vacía debería aparecer en “blanco”, tal como se muestra en la imagen:

Archivo sin definiciones

Si el archivo está en “blanco” como en la imagen anterior, debemos dejarlo como en el siguiente listado:

// Coloque sus atajos de teclado en este archivo para sobreescribir los valores predeterminados
[
{
        "key": "f5",
        "command": "-workbench.action.debug.start",
        "when": "debuggersAvailable && !inDebugMode"
    },
    {
        "key": "f5",
        "command": "-workbench.action.debug.continue",
        "when": "inDebugMode"
    },
    {
        "key": "f5",
        "command": "workbench.action.tasks.build"
    }
]

  1. Guardamos el fichero
  2. Reiniciamos Visual Studio Code
  3. Abrimos un archivo .bas de la carpeta Sources de NextBuild
  4. Pulsamos F5 para que se compile y ejecute en el emulador

Archivo con definiciones

En el caso de que el archivo no esté vacío, por ejemplo:

// Place your key bindings in this file to override the defaultsauto[]
[
        {
        "key": "ctrl+shift+b",
        "command": "-workbench.action.tasks.build"
    },
    {
        "key": "f6",
        "command": "-workbench.action.debug.pause",
        "when": "debugState == 'running'"
    },
    {
        "key": "f6",
        "command": "-workbench.action.focusNextPart"
    },
    {
        "key": "f6",
        "command": "bookmarks.toggle",
        "when": "editorTextFocus"
    }
]

 

En este caso, añadiremos las definiciones justo después del primer corchete “[“ y terminaremos con una coma “,”:

// Place your key bindings in this file to override the defaultsauto[]
[
    {
        "key": "f5",
        "command": "-workbench.action.debug.start",
        "when": "debuggersAvailable && !inDebugMode"
    },
    {
        "key": "f5",
        "command": "-workbench.action.debug.continue",
        "when": "inDebugMode"
    },
    {
        "key": "f5",
        "command": "workbench.action.tasks.build"
    },
    {
        "key": "ctrl+shift+b",
        "command": "-workbench.action.tasks.build"
    },
    {
        "key": "f6",
        "command": "-workbench.action.debug.pause",
        "when": "debugState == 'running'"
    },
    {
        "key": "f6",
        "command": "-workbench.action.focusNextPart"
    },
    {
        "key": "f6",
        "command": "bookmarks.toggle",
        "when": "editorTextFocus"
    }
]

  1. Guardamos el fichero
  2. Reiniciamos Visual Studio Code
  3. Abrimos un archivo .bas de la carpeta Sources de NextBuild
  4. Pulsamos F5 para que se compile y ejecute en el emulador

¿Qué puede salir mal?

Pues la verdad es que muchas cosas pueden salir mal. Así que si tienes dudas lo mejor es que pidas ayuda:

 

One Comment

Responder a Compilando que es gerundio – Cuartel General de Desarrollo SpecNext Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *