为 python 配置 Vs 代码版本 2.0.0 构建任务

Configure Vs code version 2.0.0 Build Task for python

我需要帮助使用 Cntrl Shift B 将我的 Vs 代码配置为 python 中的 运行 脚本,我工作正常,直到 Vs 代码升级到版本 2.0.0 现在它要我配置构建。我对 Build 到底是什么一无所知。

过去,当我只需要配置任务 运行ner 时,它运行良好。 运行ner 任务有 youtube 视频。我似乎无法理解构建的全部内容。

在 VS Code 中转到任务 -> 配置任务

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "Run File",
            "command": "python ${file}",
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "panel": "new",
                "focus": true
            }
        },
        {
            "taskName": "nosetest",
            "command": "nosetests -v",
            "type": "shell",
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "panel": "new",
                "focus": true
            }
        }
    ]
}

command: 运行s 当前 python 文件

group: 'build'

presentation:

  • 总是在 运行
  • 时显示 shell
  • 使用新的 shell
  • 聚焦 shell(即键盘在 shell window 中被捕获)

第二个任务配置为默认测试,仅 运行s nosetest -v 在当前在 VS Code 中打开的文件夹中。

"Run Build Task"(绑定到Ctrl+Shift+B的那个)是配置为默认构建任务的那个,这里的任务1示例(参见 group 条目)。

编辑:
@RafaelZayas 在评论中建议(这将使用 VS Code 设置中指定的 Python 解释器,而不是系统默认解释器;有关更多信息,请参阅他的评论):

"command": "${config:python.pythonPath} ${file}"

这是我的构建配置 (Ctrl+Shift+B)

tasks.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "python",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "args": [
                "setup.py",
                "install"
            ],
            "presentation": {
                "echo": true,
                "panel": "shared",
                "focus": true
            }
        }
    ]
}

...没有足够的声誉来评论已接受的答案...

至少在我的环境中(Ubuntu 18.04,带虚拟环境)如果使用 "args" 传递参数,文件 必须 第一个参数,正如@VladBezden 所做的那样,而不是@orangeInk 所做的命令的一部分。否则我会收到消息 "No such file or directory"。

具体来说,@VladBezden 的答案对我有用,而下面的答案

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "${config:python.pythonPath} setup.py", // WRONG, move setup.py to args
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "args": [
                "install"
            ],
            "presentation": {
                "echo": true,
                "panel": "shared",
                "focus": true
            }
        }
    ]
}

这花了我一段时间才弄清楚,所以我想分享一下。