Para ejecutar el mismo comando de proyecto desde VS Code en su Mac, defínalo como una tarea de espacio de trabajo en .vscode/tasks.json. Luego inícielo desde la Paleta de comandos o el menú Terminal en lugar de volver a escribirlo en una terminal. Esta guía utiliza npm test como ejemplo; reemplácelo con un comando que su proyecto ya admita. Las tareas de VS Code requieren una carpeta de espacio de trabajo abierta, así que primero abra la carpeta del proyecto en VS Code. Visual Studio Code: Integrate with External Tools via Tasks

Cree el archivo de tareas en su proyecto

En VS Code, abra la Paleta de comandos con Mayús+Comando+P, ejecute Tasks: Configure Task y elija Create tasks.json file from template si VS Code ofrece esa opción. Seleccione Others para una tarea personalizada. Si tasks.json ya existe, ábralo y edítelo en lugar de crear un segundo archivo. El archivo pertenece a la carpeta .vscode del proyecto; confirmarlo (commit) junto con su proyecto hace que la tarea esté disponible para los colaboradores que usan VS Code. Visual Studio Code: Integrate with External Tools via Tasks

Para el ejemplo, coloque esta configuración en .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run project tests",
      "type": "shell",
      "command": "npm",
      "args": ["test"],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      }
    }
  ]
}

La etiqueta de la tarea (label) es el nombre que elegirá en VS Code. Aquí, command y args expresan el ejemplo como el ejecutable npm seguido de su argumento test. Cambie estos para que coincidan con el comando existente de su proyecto: por ejemplo, una herramienta de línea de comandos y sus argumentos, o un script existente. La tarea no instala dependencias, no crea un script de proyecto ni determina qué debe hacer el comando. Consulte primero la propia documentación o los scripts del proyecto. cwd establece el directorio de trabajo en la carpeta abierta como espacio de trabajo; esto es importante cuando un comando espera encontrar archivos de proyecto relativos a esa carpeta. Visual Studio Code: Integrate with External Tools via Tasks

Ejecútelo de nuevo desde la interfaz de Mac

Guarde tasks.json. Abra la Paleta de comandos con Mayús+Comando+P, ejecute Tasks: Run Task y seleccione Run project tests. También puede usar Terminal > Run Task. Después de que la tarea termine, repita esos pasos y seleccione la misma etiqueta. La tarea configurada se ejecuta en la terminal integrada de VS Code. Visual Studio Code: Integrate with External Tools via Tasks

En el ejemplo, reveal: always trae el panel de la terminal al primer plano cuando se ejecuta la tarea. panel: dedicated reutiliza una terminal para esta tarea en ejecuciones posteriores, manteniendo su salida separada de otras tareas. Para mantener la salida en segundo plano, configure reveal en never; deberá traer el panel de la terminal al frente usted mismo para inspeccionarlo. Estas opciones afectan a la presentación, no al comportamiento del comando ni a si tiene éxito. Visual Studio Code: Integrate with External Tools via Tasks

Adapte la configuración a la forma en que se ejecuta su comando

Use type: shell cuando el comando dependa del comportamiento del shell. Para un comando que deba iniciar un ejecutable directamente, type: process puede evitar la interpretación del shell. VS Code documenta ambos tipos de tareas; elija según el comando y los argumentos que necesite. Con las tareas de shell, los espacios y los caracteres especiales pueden requerir comillas. Separar el ejecutable y los argumentos como en el ejemplo ayuda a evitar incrustar toda la línea de comandos en una sola cadena, aunque las reglas de entrecomillado específicas del shell aún se aplican cuando sea necesario. Visual Studio Code: Integrate with External Tools via Tasks

Si el comando debe iniciarse en una subcarpeta, cambie cwd a una ruta dentro de ${workspaceFolder}, como ${workspaceFolder}/client. ${workspaceFolder} hace referencia a la carpeta abierta en VS Code, y las rutas de macOS utilizan barras diagonales. Si usa una variable en una tarea de shell, recuerde que la sustitución no añade comillas automáticamente; las rutas con espacios pueden necesitar un entrecomillado adecuado para el shell. Visual Studio Code: Variables Reference

Si una tarea funciona en una ventana de Terminal pero falla en VS Code, verifique que el ejecutable esté disponible para el entorno que utiliza VS Code y que el directorio de trabajo seleccionado contenga los archivos esperados. VS Code permite configurar un shell de automatización por separado a través de terminal.integrated.automationProfile.*, o un shell específico para tareas a través de options.shell; una tarea no garantiza el mismo entorno que una terminal interactiva que ya esté abierta. Visual Studio Code: Integrate with External Tools via Tasks

Una tarea es una forma repetible de invocar un comando e inspeccionar su salida en la terminal. No crea un comando de proyecto, no repara un comando que falla ni deduce automáticamente cada comando utilizado por un proyecto. Comience con un comando que ya se ejecute para ese proyecto, luego ajuste su etiqueta de tarea, argumentos, directorio de trabajo y visualización de terminal para adaptarlos a su rutina.

Fuentes