有没有办法使用VS Code任务运行扩展命令?

时间:2018-01-29 21:28:04

标签: visual-studio-code vscode-tasks

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

1 个答案:

答案 0 :(得分:1)

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

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

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

复合命令

如果要顺序/并行运行命令,可以使用dependsOn属性来运行多个命令:

代表另一个任务的字符串或该任务所依赖的其他任务的数组。

例如,假设有一种情况,您想复制当前所在的当前行,在上方注释掉,出于演示目的,任意地将终端立即聚焦:

{
    "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属性在文件夹启动时自动运行任务