Как добавить дополнительную команду оболочки в сборке задач кода VS? - PullRequest
0 голосов
/ 24 мая 2018

Среда: Windows 10 x64 VSCode версии 1.23.1 python 3.6.4

Я пытался перейти с возвышенного текста 3 на код VS.У меня на компьютере установлен 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]

И возвышенное автоматическое добавление таймера длякод в конце.

В моем текущем файле task.json для кода VS у меня есть:

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

Это будет работать, но просто покажет вывод кодов python:

hello world

Можно ли как-нибудь настроить его на что-то, что может дать мне такой же стиль вывода, какой я получил из возвышенного текста?Если таймер невозможен, по крайней мере, я могу добавить команду оболочки в качестве заголовка, чтобы показать версию Python 3?

Дополнительный вопрос: что это делает "version": "0.1.0", в коде VS?К какой версии это относится?

Спасибо!

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете использовать ту же команду, что и раньше, разница в том, как указывается файл, который нужно передать.В 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.exe, когда команда python используется в command.

...