【问题标题】:How can I run a VSCode command as a task如何将 VSCode 命令作为任务运行
【发布时间】:2019-08-13 02:49:13
【问题描述】:

Github 上的 VSCode 有一个名为 Running commands as tasks #11396 的问题。它涉及在 VSCode 中将 VSCode 命令作为内部任务运行。

alexr00 评论了Dec 20, 2018 that:

You can now have commands in tasks.json 并指向以下文档:

https://code.visualstudio.com/docs/editor/variables-reference#_settings-command-variables-and-input-variables

我已经阅读了这些文档,但仍然无法弄清楚如何做我想做的事。对于初学者,我想创建一个运行 liveserver 扩展启动代码的简单任务:extension.liveServer.goOnline

有人对尝试什么或去哪里有任何想法吗?

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    例如,您可以这样做:

        {
          "label": "run copyLinesDown command",
          //  "type": "shell",
          
          "command": "${command:editor.action.copyLinesDownAction}",
    
          // "command": "${command:extension.gist.open}"  // etc
    
          // "runOptions": {
          //   "runOn": "folderOpen"
          // }
        },
    

    这是tasks.json 中的一项任务。当您运行该任务时,活动编辑器中的当前行将被复制下来。

    所以我想如果你用过

        "command": "${command:extension.liveServer.goOnline}",
    

    在类似上述的任务中,应该运行扩展命令。 (检查拼写,是extention还是extension?)

    具体见command variables

    然后您可以使用(在 keybindings.json 中)为该任务分配一个键绑定:

        {
            "key": "ctrl+h",            // binding of your choice
            "command": "workbench.action.tasks.runTask",
            "args": "run copyLinesDown command"
        }
    

    【讨论】:

    • 谢谢。我一直试图为命令找到一个“类型”。我从来没有想过要把它排除在外。你的例子很完美。不幸的是,它似乎无法识别来自附加组件的命令,例如:command:extention.liveServer.goOnline
    • 嗯,这就是为什么我使用 extension.gist.open 来自已安装扩展的命令尝试它,它工作得很好。对我来说,它似乎可以使用/不使用 shell/process 类型。您是否使用命令尝试了这两个版本?例如,它可能需要process
    • 好吧,我是个白痴。我拼错了“扩展名”,谢谢马克 :)
    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2020-10-04
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多