是否可以为VS Code中的不同任务分配不同的快捷方式?

问题描述 投票:29回答:4

VS Code允许在["tasks"]中的tasks.json数组中定义多个任务,默认情况下,具有isBuildCommand: true属性的任务将获得键盘快捷键Ctrl + Shift + B.

我想为我创建的每个任务分配不同的键盘快捷键。这是可能的,如果是这样的话怎么样?

到目前为止我发现的所有功能都是能够为命令workbench.action.tasks.runTask分配一个快捷方式,它将按字母顺序弹出所有任务的菜单,我可以上/下箭头。我想配置代码直接使用一个组合键运行每个任务。

visual-studio-code
4个回答
10
投票

是的,还有一个可用于绑定快捷方式的属性。它的名字是isTestCommand。如果设置为true,则将Ctrl + Shift + T绑定到任务。我们有一个内部工作项,允许将任意捷径绑定到任务。


26
投票

从VS Code 1.10开始,您可以在键绑定中使用workbench.action.tasks.runTask命令,并将任务名称作为参数传递。

VS Code task documentation给出了这个例子:

{
    "key": "ctrl+h",
    "command": "workbench.action.tasks.runTask",
    "args": "build"
}

8
投票

自VSCode 1.19(2018年2月)起:

/myproject/.vscode/tasks.json中,你需要在你的npm任务中添加一个label(以前,现在已弃用:taskName)。

(我将我的标签命名为与我打算运行的package.json脚本相同。但这只是个人风格,而不是技术需求):

    {
        "label": "ui",
        "type": "npm",
        "script": "ui"
    }

然后,在用户键绑定/home/johndoe/.config/Code/User/keybindings.json中通过其标签引用该任务:

{"key": "ctrl+r",
    "command": "workbench.action.tasks.runTask",
    "args": "ui"
},

如果你想知道:不,在vscode中没有项目级别的键绑定。 Reasons here


6
投票

我刚刚提交了一份PR:https://github.com/Microsoft/vscode/pull/10676

因此,一旦合并,您将能够将任何任务分配给键盘快捷键。

© www.soinside.com 2019 - 2024. All rights reserved.