【问题标题】:How can I create a task in vscode (tasks.json) that runs a .ps1 script from any document?如何在 vscode (tasks.json) 中创建一个从任何文档运行 .ps1 脚本的任务?
【发布时间】:2021-12-21 09:59:32
【问题描述】:

我在 Visual Studio Code 中以 Markdown 格式编写文本文件。我有一个 powershell 脚本 (.ps1),用于将 markdown 文件 (.md) 转换为 pdf 文件。我想通过创建任务来执行 .ps1。

我已尝试创建任务

Ctrl+Shift+P --> 任务:配置默认构建任务>打开tasks.json文件>其他

这就是 tasks.json 的样子:

{
    "version": "0.2.0",
     "configurations": [ 
        { 
            "name": "RUN md to pdf", 
            "type": "PowerShell", 
            "program": "C:/Users/tomas/OneDrive/Dokument/_markdown/kandidat/script/_RUN.ps1"
        } 
    ] 
}

其中 _RUN.ps1 是我要执行的脚本。注意一件事:脚本说“版本”:“0.2.0”。但是当我四处寻找解决方案时,它的版本是“2.0”。我在 Windows 11 上安装了最新的 vscode (1.63.2)。

我预期会发生什么:我会有一个名为“RUN md to pdf”的任务,我可以通过按 ctrl+shift+B 来执行它。

但是当我按 ctrl+shift+B 时,我只会得到“找不到要运行的构建任务...”

有什么想法吗?

【问题讨论】:

  • 你为什么要配置tasks.json而不是keybindings.json?
  • 好吧,我的问题是我的 tasks.json 脚本只是编码错误。我找到了解决方案并将其添加为答案。但下一步是将任务添加为热键。

标签: powershell visual-studio-code


【解决方案1】:

好的。所以我找到了解决方案。 Mytasks.json 看起来像这样:


{
    "version": "2.0.0",
     "tasks": [ 
        {               
            "type": "shell", 
            "label": "Create PDF", 
            "detail": "Use _RUN.ps1 to convert md to pdf with Pandoc",
            "command": "C:/Users/tomas/OneDrive/Dokument/_markdown/kandidat/script/_RUN.ps1"
        } 
    ] 
}

如果我按 ctrl+shift+B,我可以选择我的任务(创建 PDF),下次按 ctrl+shift+B 时,它只会执行我的 .ps1 文件。成功!

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多