gpt4 book ai didi

visual-studio-code - VS代码: How can I execute an arbitrary task using the JavaScript API?

转载 作者:行者123 更新时间:2023-12-05 07:39:52 31 4
gpt4 key购买 nike

在较新版本的 VSCode 中,我可以为我在 tasks.json 中定义的任何任务创建绑定(bind)。例如,下面的 3 个任务

{
"version": "2.0.0",
"tasks": [
{
"label": "Clean",
"type": "shell",
"command": "clean.cmd",
"problemMatcher": []
},
{
"label": "Build",
"type": "shell",
"command": "build.cmd",
"problemMatcher": [],
"group": { "kind": "build", "isDefault": true }
},
{
"label": "Flash",
"type": "shell",
"command": "flash.cmd",
"problemMatcher": []
}
]
}

我可以创建键绑定(bind)

[
{
"key": "alt+f9",
"command": "workbench.action.tasks.runTask",
"args": "Clean"
},
{
"key": "ctrl+f9",
"command": "workbench.action.tasks.build"
},
{
"key": "f9",
"command": "workbench.action.tasks.runTask",
"args": "Flash"
}
]

一切都按预期进行。我正在尝试使用 VSCode API 从扩展(例如 Script Commands)中做同样的事情,但它仅适用于 buildtest 任务。

打电话

vscode.commands.executeCommand("workbench.action.tasks.build")

有效但是

vscode.commands.executeCommand("workbench.action.tasks.runTask", ["Clean"])

打开任务选择列表。

除了 buildtest 之外,我如何使用 JavaScript 代码直接开始其他任务?

最佳答案

您的任务配置文件看起来很旧。如果您使用的是新版本的 Visual Studio Code,则应进行升级。

我认为 api 期望任务有一个“标签”字段。

https://code.visualstudio.com/docs/editor/tasks#_convert-from-010-to-200

所以 intsead:

{
"taskName": "Clean",
"type": "shell",
"command": "clean.cmd",
"problemMatcher": []
},

应该是:

{
"label": "Clean",
"type": "shell",
"command": "clean.cmd",
"problemMatcher": []
},

更新:尝试只用字符串调用它,而不是像这样将它包装在数组中:

vscode.commands.executeCommand("workbench.action.tasks.runTask", "Clean")

关于visual-studio-code - VS代码: How can I execute an arbitrary task using the JavaScript API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46768080/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com