首页 > 解决方案 > 为什么 vscode 找不到`preLaunchTask`?

问题描述

我正在使用vscode调试打字稿程序。下面是配置。它有一个preLaunchTask在调试之前使用任务来构建代码。当我运行调试器时,它会提示一个错误对话框Could not find the task 'build'。它无法找到已在部分中build定义的任务。tasks我怎样才能让它在vscode中工作?

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceFolder}/node/src/index.ts",
      "skipFiles": [
        "<node_internals>/**"
      ],
      "preLaunchTask": "build",
      "outFiles": [
        "${workspaceFolder}/node/dist/**/*.js"
      ]
    },
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    }
  ],
  "tasks": [
    {
      "label": "build",
      "type": "npm",
      "script": "yarn build"
    }
  ]
}

标签: visual-studio-code

解决方案


自定义任务应该在单独的 tasks.json文件中,而不是在同一个launch.json文件中。

从关于launch.json属性的文档:

  • preLaunchTask- 要在调试会话开始之前启动任务,请将此属性设置为 tasks.json中指定的任务的名称(在工作区的.vscode文件夹中)。

请参阅有关创建任务自动检测自定义任务的 VS Code 教程。

在此处输入图像描述 在此处输入图像描述


推荐阅读