【问题标题】:VSCode build not working - No build task defined. Mark a task with 'isBuildCommand' in the tasks.json fileVSCode 构建不起作用 - 未定义构建任务。在 tasks.json 文件中使用“isBuildCommand”标记任务
【发布时间】:2017-09-11 14:02:08
【问题描述】:

我有全新安装的 VSCode 和这个小巧的基本 TypeScript 应用程序。

第一次构建应用时,VScode需要生成tasks.json。

很久以前它就起作用了。

今天我收到一条奇怪的消息

未定义构建任务。在 tasks.json 文件中使用“isBuildCommand”标记任务。

我不记得以前看过这条消息。

但是,好的,我点击Configure Build Task,选择TypeScript任务,task.json就生成了。

但是,在我现在尝试构建之后,Ctrl+Shift+B 会发生什么,我再次收到完全相同的消息

有什么想法吗?谢谢。

顺便说一句,将此设置添加到 tasks.json 并不能解决问题。

【问题讨论】:

标签: visual-studio-code


【解决方案1】:

这里也解决了这个问题: https://github.com/Microsoft/vscode/issues/24796

上面写着:

关闭并重新打开窗口(不启动代码)可解决此问题。

【讨论】:

  • 我尝试关闭并重新打开窗口,今天早上没有工作,但2小时后再次检查,现在可以了! VSCode 以神秘的方式工作 ;))
【解决方案2】:

关闭和重新打开窗口

哪个窗口?关闭并重新打开 tasks.json 窗口对我不起作用(在 VS Code 1.11.2 中)。

这是做了什么:

  • 关闭并重新打开 Visual Studio 代码
  • Ctrl-Shift-B(或您的构建快捷方式)

【讨论】:

  • 关闭 Visual Studio Code 窗口(是的,编辑器本身),然后重新启动它。
  • 你确定吗?我想他的意思可能是"Reload Window"Ctr+Shift+P,然后输入Reload W...,你会看到吗?
【解决方案3】:

就我而言,我的tasks.json 有一些废话。而不是“命令”属性,我错误地将其命名为“可执行”...*

所以考虑一下:

  1. 你的 JSON 是有效的 syntactically(见下面的截图)
  2. 您的 JSON 有效 according to what VS Code expects

语法无效:

原理图无效:

虽然我认为其他答案可能是正确的(我无法复制,所以我无法验证;the issue has been fixed...),我认为当评论说...

关闭和重新打开窗口(不启动代码)

...这可能意味着Reload Window command.


*我错误地将tasks.json 属性命名为“可执行”,而不是“命令”,因为...

  1. 我认为“命令”引起了问题(不是
  2. 我想在特定目录中运行特定的可执行文件,例如“C:/somewhere/python.exe”; (“命令”可以做到这一点)。

我不知道为什么我认为“可执行”是有效的!我以为我在引用一些示例,但找不到它... :) )

【讨论】:

    【解决方案4】:

    [截至 2021 年 9 月 18 日] 和 VS Code 版本:1.60.0

    对我来说,事实证明我没有"isBuildCommand": true

    我知道这篇文章已经假设 isBuildCommand 已经包含在内。但是 VS Code 对我来说默认情况下没有包含这个,如果我到达这个页面是 VS Code 的新手,它可能对其他新手有帮助。

    我想要两种配置 - DebugRelease。这就是我的两个配置的外观 -

    {
        "label": "build Debug",
        "command": "dotnet",
        "type": "process",
        "isBuildCommand": true,
        "args": [
            "build",
            "${workspaceFolder}/ABCD/ABCD.csproj",
            "/property:GenerateFullPaths=true",
            "/consoleloggerparameters:NoSummary"
        ],
        "problemMatcher": "$msCompile"
    },
    {
        "label": "build Release",
        "command": "dotnet",
        "type": "process",
        "isBuildCommand": true,
        "args": [
            "build",
            "${workspaceFolder}/ABCD/ABCD.csproj",
            "/property:GenerateFullPaths=true",
            "/consoleloggerparameters:NoSummary",
            "-c",
            "Release"
        ],
        "problemMatcher": "$msCompile"
    }
    

    【讨论】:

      【解决方案5】:

      对我来说,当我将 tasks.json 文件放在我想要构建的文件旁边的新 .vscode 文件夹中时,它就起作用了。

      • 我的文件夹 >
        • 我的文件
        • .vscode >
          • tasks.json
        • tasks.json(此文件无效)

      有趣的是,在我的例子中,我的文件夹已经被命名为 .vscode。我猜它必须是一个子层。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        • 1970-01-01
        • 2019-01-08
        • 1970-01-01
        相关资源
        最近更新 更多