Depuración del archivo actual en VS Code

4 minutos de lectura

avatar de usuario
jdb79

Estoy escribiendo javascript y actualmente estoy haciendo ejercicios/programas simples. A veces, deseo ejecutar mi archivo con fines de prueba. Soy consciente de que podría crear un HTML file y haz esto dentro de la consola. En Sublime, existe una manera de “construir” el archivo actual e inmediatamente ver los resultados (digamos, lo que se envíe a console.log).

Con VS Code, parece que para cada archivo que quiero “compilar”/depurar de esta manera, debo cambiar manualmente el launch.json archivo para reflejar el nombre del programa actual.

He estado investigando una forma de evitar esto, y aprendí que hay variables como ${file} pero cuando uso eso en el launch.json atributo “programa”, por ejemplo:

"program": "${workspaceRoot}/${file}"

con o sin el workspaceRoot parte, me sale el siguiente error:

Attribute "program" does not exist" (file name here). 

¿Me estoy perdiendo una manera simple de lograr esto, o debo seguir editando? launch.json cada vez que quiero ejecutar el archivo?

¡Gracias por adelantado!

  • Creo que este tiene una actualización. Ahora podemos depurar un archivo js directamente presionando el botón de inicio de depuración. A menos que ya haya una configuración allí. Comienza a depurar el archivo actual automáticamente.

    – Leela Venkatesh K.

    5 de mayo de 2019 a las 10:47

avatar de usuario
jfriedman

Cambiar a:

"program": "${file}"

  • Uso diferentes nombres para depurar diferentes archivos en el proyecto y elimino la entrada del archivo launch.json una vez que termino.

    – zubair1024

    8 de enero de 2018 a las 10:59

  • @ jdb79 Debe aceptar la respuesta haciendo clic en la marca verde a la izquierda

    – Muhsin Fatih

    9 de abril de 2018 a las 7:58


  • También añadí en alguna ocasión "cwd": "${fileDirname}" para que comience en la carpeta del archivo actual (útil, por ejemplo, al cargar archivos usando una ruta relativa a la ubicación del archivo actual, por ejemplo: fs.readFile('./somefile.txt'))

    – Razvan Pocaznoi

    18/09/2018 a las 21:13


  • y hay más: code.visualstudio.com/docs/editor/variables-reference

    – Martín Capodici

    9 de junio de 2020 a las 2:38

avatar de usuario
Ricardo Mayerhofer

Como referencia, este es el launch.json completo

{
  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Node.js - Debug Current File",
        "type": "node",
        "request": "launch",
        "program": "${file}"
      }
    ]
  }
}

  • En el launch.json de mi proyecto hay una entrada “nombre”: “Programa de lanzamiento”, ¿hará alguna diferencia en lugar de “Archivo de depuración” usar “Programa de lanzamiento”?

    – vikramvi

    12 de abril de 2019 a las 8:57

  • @vikramvi no hay diferencia, es solo para referencia (por ejemplo, mostrará en la barra de estado el nombre de la tarea activa actual)

    –Bernardo Dal Corno

    8 de noviembre de 2019 a las 20:59

  • Lo que hace una diferencia es type Creo: puedes tener objetos de configuración similares, pero tener diferencias en el name y type llaves. type es el idioma.

    – Timo

    23 de marzo de 2021 a las 8:56

Para un solo archivo, puede omitir el archivo launch.json por completo. Simplemente haga clic en la flecha verde en el panel del depurador y elija Nodo como su entorno.

De aquí.

  • Si aún no tiene una configuración de configuración de lanzamiento, hacer clic en la flecha verde le dará una opción de entornos y luego creará el archivo de lanzamiento con un elemento en él. De lo contrario, la flecha verde ejecutará el elemento seleccionado en la lista desplegable.

    –Michael Currin

    9 de julio de 2019 a las 10:41

  • O simplemente presione F5

    –Bernardo Dal Corno

    8 noviembre 2019 a las 21:00

Hay muchas maneras diferentes en las que puede necesitar acceder a un archivo que son proporcionados por Variables predefinidas:

Suponiendo que usted tiene los siguientes requisitos:

  • Un archivo ubicado en /home/your-username/your-project/folder/file.ext abierto en su editor;
  • El directorio /home/your-username/your-project abierto como su espacio de trabajo raíz.

Entonces tendrás los siguientes valores para cada variable:

  • ${userHome}/home/your-username
  • ${workspaceFolder}/home/your-username/your-project
  • ${workspaceFolderBasename}your-project
  • ${file}/home/your-username/your-project/folder/file.ext
  • ${fileWorkspaceFolder}/home/your-username/your-project
  • ${relativeFile}folder/file.ext
  • ${relativeFileDirname}folder
  • ${fileBasename}file.ext
  • ${fileBasenameNoExtension}file
  • ${fileDirname}/home/your-username/your-project/folder
  • ${fileExtname}.ext
  • ${lineNumber} – número de línea del cursor
  • ${selectedText} – texto seleccionado en su editor de código
  • ${execPath} – ubicación de Code.exe
  • ${pathSeparator}/ en macOS o linux, \ en Windows

¿Ha sido útil esta solución?