有没有办法 运行 带有 VS Code 任务的命令?

Is there a way to run a command with VS Code tasks?

在 VS Code 中,我有一个扩展程序,我可以 运行 通过按 F1 并按名称搜索来执行其命令。但是我想从任务中自动 运行 它 (tasks.json)。我从键盘快捷键知道它的全名。

您可以 运行 在 tasks.json 中使用 ${command:} 语法的有效命令:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "command": "${command:editor.action.addCommentLine}",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

上面的例子注释掉了当前行

复合命令

如果你想运行命令sequentially/parallel,你可以使用dependsOn属性到运行多个命令:

Either a string representing another task or an array of other tasks that this task depends on.

例如,假设有一个场景,你想复制当前所在的行,在上面注释掉它,并且任意地,为了演示目的,立即聚焦终端:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "create temporary duplicate line",
            "command": "${command:workbench.action.terminal.focus}",
            "dependsOn": [
                "duplicate line up",
                "comment line out"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "comment line out",
            "command": "${command:editor.action.addCommentLine}"
        },
        {
            "label": "duplicate line up",
            "command": "${command:editor.action.copyLinesUpAction}"
        }
    ]
}

假设您复制的行是:

<div></div>

任务会 运行 并使这个:

<!-- <div></div> -->
<div></div>

然后关注集成终端


您可以查看他们的 documentation 命令变量和其他占位符语法,例如接收用户输入以创建动态任务,或使用 runOn 属性 自动 运行 文件夹启动任务