gpt4 book ai didi

javascript - VSCode 在选择任务时生成一个 task.json 条目

转载 作者:行者123 更新时间:2023-12-01 15:18:16 26 4
gpt4 key购买 nike

我想创建一个生成 shell 任务的 VSCode 扩展,
像具有其他通用属性的 shell 任务。

示例:

  • 当用户选择 任务 (我的扩展提供的具体任务)
  • 一个 task.json
  • 一样自动生成

    "tasks": [
    {
    "label": "mytask",
    "type": "shell",
    "group": {
    "kind": "build",
    "isDefault": true
    },
    "command": "Invoke-Build -Task . -File './test'"
    },



    我尝试使用 VSCode 示例存储库,但我没有设法做到,文件已生成 只是 如果你点击 ctrl+shift+p并单击配置任务按钮,它会为您创建任务 json。
    我希望它自动与我上面的 json 条目一起使用。我该怎么做?

    在以下链接中,您可以提供几个选项来提供任务(手动...我需要它从扩展生成)
    https://code.visualstudio.com/docs/editor/tasks

    我基本上需要在 task.json 中生成新任务的代码文件

    如果有创建新tasks.json文件的代码的引用,也许它可以提供一个想法

    https://github.com/microsoft/vscode/search?p=2&q=tasks.json&unscoped_q=tasks.json

    还有另一个选项是检查是否有 tasks.json文件,如果不生成新条目并向任务数组添加一个新条目,(使用我的代码而不是 vscode api),但这是一个好的解决方案吗?

    最佳答案

    如果你的任务是 shell 命令或任何东西可以在终端上运行你不需要创建 tasks.json 你可以通过执行将命令发送到终端

    vscode.commands.executeCommand('workbench.action.terminal.new');
    setTimeout(function () {
    const terminal = vscode.window.activeTerminal;
    terminal.sendText('you command here')
    }, 1200);

    如果你真的想创建某种文件来运行你的任务,你可以在用户项目的根目录中创建自定义 json 文件 mySuperTasks.json 并告诉 va 代码他应该在这个文件上自动执行任务自动检测功能这样您就不必担心 task.json 文件

    在你的 package.json 你会有类似的东西
    "contributes"
    "commands": [
    {
    "command": "extension.yourExtensionName.makeTaksFile",
    "title": "create mySuperTasks.json",
    "category": "your extention name"
    }
    ],
    "keybindings": [
    {
    "command": "extension.yourExtensionName.makeTaksFile",
    "key": "alt+L alt+C",
    "mac": "cmd+L cmd+C"
    }]

    在你//extension-main-script ex: extinsion.js 你将拥有
        let makeTaksFile = vscode.commands.registerCommand('extension.yourExtensionName.createTasksFile', function () {
    const rootFolder = vscode.workspace.getWorkspaceFolder();
    fs.writeFile(rootFolder.uri + '/mystasks.json', 'file content your json', (callback) => { });
    //then you create taskProvider via vs code api
    // doc https://code.visualstudio.com/api/extension-guides/task-provider
    });
    context.subscriptions.push('makeTaksFile');

    如果创建 tasks.json 文件非常重要,那么您提到的选项在这种情况下非常有用。跳,帮助你快乐编码。我将添加一些代码

    关于javascript - VSCode 在选择任务时生成一个 task.json 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60829755/

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