Visual Studio 找不到任务“tsc:构建- tsconfig.json'

ehxuflar  于 2023-03-09  发布在  其他
关注(0)|答案(9)|浏览(449)


你好我正在按照这个教程https://code.visualstudio.com/docs/typescript/typescript-tutorial调试typescript,但我遇到了错误,如屏幕截图所示。如果我选择调试无论如何,调试器工作,但我不能设置任何断点。我怀疑它与未能设置任务文件有关。任何建议的家伙?

xa9qqrwz

xa9qqrwz1#

我也遇到过类似的问题,在我的例子中,tsconfig.json文件不在主文件夹中,而是在子文件夹中。

{
      "type": "node",
      "request": "launch",
      "name": "Launch server",
      "program": "${workspaceFolder}/server/index.ts",
      "preLaunchTask": "tsc: build - server/tsconfig.json",
      "outFiles": ["${workspaceFolder}/out/**/*.js"]
}
sdnqo3pr

sdnqo3pr2#

当VSCode检测到tsconfig.json存在时,默认情况下任务tsc: build - tsconfig.json来自VSCode。根据您的屏幕截图,我可以看出您已经拥有该文件。因此,如果无法检测到它,这是很奇怪的。
请确保tsconfig.json的文件内容有效。

    • 系统配置json**
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "outDir": "out",
    "sourceMap": true
  }
}

同样要检查任务是否存在,您可以选择菜单终端-〉运行构建任务或按下Shift + Command + B在MacOS上。如果正确,您可以看到两个任务可用,如下图所示。

否则步骤一定有问题,也许,preLaunchTask中有多余的空间,作为参考,我也将我的launch.json复制粘贴在这里。

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceFolder}/helloworld.ts",
      "preLaunchTask": "tsc: build - tsconfig.json",
      "outFiles": [
        "${workspaceFolder}/out/**/*.js"
      ]
    }
  ]
}
8zzbczxx

8zzbczxx3#

对于其他语言的用户,tsc: build命令可以是另一个命令,例如中文的tsc: 构建
我的发射。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "pwa-node",
      "request": "launch",
      "name": "Launch Program",
      "skipFiles": [
        "<node_internals>/**"
      ],
      "program": "${workspaceFolder}/index.ts",
      "preLaunchTask": "tsc: 构建 - tsconfig.json",
      "outFiles": [
        "${workspaceFolder}/out/**/*.js"
      ]
    }
  ]
}
pobjuy32

pobjuy324#

当你按Ctrl+Shift+B时终端会运行Run Build Task..你会在终端中看到
“〉正在执行任务:tsc -p c:....
终端将被任务重复使用,请按任意键关闭。”
然后双击ts文件并按F5键,您必须选择要在哪个环境中运行ts文件,然后您将在调试控制台中看到输出。

jdgnovmf

jdgnovmf5#

因为它找不到tsconfig文件的路径....请查看您的文件夹结构,该结构是否包含多个具有相同名称的相同文件夹...因此,调试器无法找到路径...因此,请确保您使用的devlopement文件夹具有正确的路径,具有唯一的名称,与其父文件夹不同名,并且包含tsconfig文件...

ou6hu8tu

ou6hu8tu6#

如果 Extension Host 崩溃,也会发生这种情况。这会阻止任务引擎查找请求的任务。通常,您应该在toast中看到一条消息,您可以立即重新启动 Extension Host。之后调试器和任务将正常工作。

8tntrjer

8tntrjer7#

对于Ubuntu Linux 20.04 LTS(但在其他操作系统上可能也是如此),让preLaunchTask为我工作的是同时使用本地tasks.json和launch.json
因此,我的文件夹结构(预构建)是:

.vscode/launch.json
.vscode/tasks.json
dist
src/index.ts
package.json
tsconfig.json

我的launch.json包含:

{
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "TS preLaunchTask-build",
            "program": "${file}",
            "preLaunchTask": "tsc: build",
            "outFiles": ["${workspaceFolder}/dist/**/*.js"],
            "skipFiles": [
                "<node_internals>/**", "node_modules",
              ]
        },
    ]
}

我的tasks.json包含:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "command": "echo hello yes working!",
            "problemMatcher": [],
            "label": "myTask"
        },
        {
            "type": "typescript",
            "tsconfig": "tsconfig.json",
            "problemMatcher": ["$tsc"],
            "group": "build",
            "label": "tsc: build"
        },
    ]
}

我的tsconfig.json包含:

{
  "compilerOptions": {
      "outDir": "./dist",
      "sourceMap": true,
      "target": "es5",
      "module": "commonjs"
  },
  "include": [
      "src/**/*"
  ]
}

用法:当在索引中时。ts只需按F5键并设置断点
我还包含了另一个任务“myTask”,您可以将launch.json中的preLaunchTask行更改为:"preLaunchTask": "myTask",(它将向控制台输出一些文本,以验证preLaunchTask现在是否正常工作)
这样,如果您仍然有问题,您可以查看问题是在您的tsconfig设置中,还是在preTaskLaunch设置中。
(我认为它应该自己解决这个问题,但显然不是在目前编写的时候-但确实强制(对我来说)将调试配置提交到基于项目的repo,而不是全局配置)

xe55xuns

xe55xuns8#

请务必按Ctrl+Shift+B(在Windows上)和Cmd+Shift+B(在Mac上)检查任务的确切结构/拼写。x1c 0d1x
在我的例子中,它是tsc:生成-项目名称/tsconfig.json

daolsyd0

daolsyd09#

在工作区的.vscode中创建launch.json并在其中设置,而不是使用vscode用户配置文件设置。我不知道为什么:(

相关问题