在 VsCode 中按键执行 bat 文件

Fig*_*wig 5 glsl batch-file vulkan visual-studio-code

我正在为 vulkan 编写着色器,必须将其编译为 spir-v。我有一个非常好的批处理文件,它将使用 GLSlangvalidator 为我构建着色器。我正在尝试使用按键在 VsCode 中运行我的批处理文件,以便我可以检查我的代码是否有错误并构建它。我有以下几点:

    {
    "key": "f5",
    "label": "build",
    "type": "shell",
    "command": "workbench.action.terminal.sendSequence",
    "args" : {"text": ".\\compile.bat"},
    "presentation" : {
        "reveal": "always"
    }
Run Code Online (Sandbox Code Playgroud)

这几乎有效 - 但我仍然必须专注于内置终端面板并按回车键。当然有一种方法可以执行命令,而不仅仅是输入字符串?谢谢!

Hol*_*Cat 10

在 中tasks.json,创建一个任务来运行.bat. 像这样的东西:

{
    "label": "MY_TASK",
    "type": "shell",
    "command": "MY_BAT_FILE.bat",
    "presentation": {"echo": true, "reveal": "always", "focus": false, "panel": "shared", "showReuseMessage": false, "clear": true},
    "group": {"kind": "build", "isDefault": true},
},
Run Code Online (Sandbox Code Playgroud)

然后,使用Tasks: Run Build Task热键(CtrlShiftB默认)。


您可以有不止一项这样的任务。

最多一个任务可以有"isDefault": trueCtrlShiftB应该运行的那个。

您可以为这些任务分配自定义热键,方法是将以下内容添加到您的keybindings.json:

{"key": "f5", "command": "workbench.action.tasks.runTask", "args": "MY_TASK"},
//       ^~ key                                                     ^~~~~~~ task name
Run Code Online (Sandbox Code Playgroud)