gpt4 book ai didi

visual-studio-code - 为 vscode 扩展的用户添加任务到 tasks.json

转载 作者:行者123 更新时间:2023-12-03 23:53:54 24 4
gpt4 key购买 nike

我正在为规范语言编写 vscode 扩展。我想为插件的用户提供特定的任务。可以使用 tasks.json 使任务可用。
有没有办法将任务添加到使用该扩展的用户的 tasks.json 中?

最佳答案

文档在这里也没有帮助我。当您通过扩展提供任务时,会出现 TaskProvider API .与经典的 tasks.json 相比,该示例并未详细说明如何创建这些任务。方法。

在您的 package.json 中,您需要定义此扩展提供的任务类型。这与type无关在 tasks.json .它是一个自由形式的字符串。如果您需要自定义问题匹配器,您还需要在此处定义主题。

"contributes": {
"taskDefinitions": [
{
"type": "mytask"
}
],
"problemMatchers": [
{
"name": "mywarnings",
"base": "$gcc",
"fileLocation": [
"relative",
"/"
]
}
]
},

extension.ts你需要提供任务。假设我们有一个数组 vscode.Tasktasks你可以做:
vscode.tasks.registerTaskProvider('mytask', {
provideTasks: () => {
return tasks;
},
resolveTask(_task: vscode.Task): vscode.Task | undefined {
// as far as I can see from the documentation this just needs to return undefined.
return undefined;
}
});

如果要创建 shell 任务,则需要以下内容:
new vscode.Task (
{type: 'shell'}, // this is the same type as in tasks.json
ws, // The workspace folder
'name', // how you name the task
'MyTask', // Shows up as MyTask: name
new vscode.ShellExecution(command),
["mywarnings"] // list of problem matchers (can use $gcc or other pre-built matchers, or the ones defined in package.json)
);

我希望这有帮助。我看到的最大问题是各种名称(如类型)的重载,tasks.json 中的格式与使用 TaskProvider API 构建任务的方式完全不同。

关于visual-studio-code - 为 vscode 扩展的用户添加任务到 tasks.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52868095/

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