首页 > 解决方案 > 如何在 VS 代码任务构建中添加额外的 shell 命令?

问题描述

环境:Windows 10 x64 VSCode 版本 1.23.1 python 3.6.4

我一直在尝试从 sublime text 3 切换到 VS code。我在我的电脑上安装了 python 3.6.4,全部设置了 PATH 和其他东西。

在我的崇高文本 3 中,我将 python 3 (*.sublime-build) 的构建设置为:

{ 
"shell_cmd": "python --version && echo. && python -u \"$file\"",

"cmd": ["C:/Users/jxie0/AppData/Local/Programs/Python/Python36/python.exe", "-u", "$file"], 
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9])*", 
"selector": "source.python" 
}

这将添加一个带有空行的python版本输出,在运行python代码之前,以print('hello world')一个例子:

Python 3.6.4

hello world
[Finished in 0.1s]

并且 sublime 会在最后自动为代码添加一个计时器。

在我当前用于 VS 代码的 task.json 中,我有:

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "args": ["${file}"],
    "showOutput": "always"
}

这将起作用,但只是简单地显示 python 代码的输出:

hello world

无论如何我可以将它调整为可以给我从崇高文本中获得的相同输出风格的东西吗?如果计时器不可能,至少我可以添加一个shell命令作为标题来显示python 3版本吗?

附加问题:这"version": "0.1.0",在 VS 代码中有什么作用?它指的是哪个版本?

谢谢!

标签: pythonvisual-studio-codesublimetext3vscode-settings

解决方案


您可以使用与以前相同的命令,不同之处在于要传递的文件的引用方式。在 vscode 中相当于

python --version && echo && python -u ${file}

该命令可以分为三个命令,第一个python --version,打印 python 版本。第二个,echo打印空行。第三个,python -u ${file}实际运行 python 脚本。

至于计时器,我不知道在 vscode 中实现它的方法,但在脚本本身中实现它并不会太难,例如在 Python 中测量时间已用?


此任务的简单配置如下:

{
"version": "2.0.0",
    "tasks": [
        {
            "label": "python",
            "type": "shell",
            "command": "python --version && echo && python -u ${file}",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            }
        }
    ]
}

请注意,这假设您的路径上有 python,否则您必须指定python.execommand.


推荐阅读