Как настроить задачу VSCode для запуска скрипта powershell во встроенном терминале

Таким образом, чтобы он не находился в подоболочке. Мне нужно, чтобы он мог подготовить среду... установить переменную среды.

"version": "0.1.0",
"command": "${workspaceFolder}/Invoke-Task.ps1",
/*"command": "powershell",   creates subshell so doesn't work*/
"isShellCommand": false,
"args": [],
"showOutput": "always",
"echoCommand": true,
"suppressTaskName": true,
"tasks": [
    {
        "taskName": "task1",
        "args": ["task1"]
    },
    {
        "taskName": "task2",
        "args": ["task2"]
    }
]

person Jason Thurston    schedule 01.09.2018    source источник
comment
Ваш вопрос не ясен. Что именно вы хотите сделать?   -  person Kirill Pashkov    schedule 01.09.2018
comment
Взгляните на мой ответ, я думаю, он решит вашу проблему.   -  person Alberto S.    schedule 22.04.2020


Ответы (3)


Это выполнимо с 2017 года, если я правильно понял ваш вопрос.

Integrated-terminal-tasks README Это расширение позволяет рабочему пространству определять конкретные задачи, которые должны выполняться в интерактивном терминале VSCode.

https://marketplace.visualstudio.com/items?itemName=ntc.integrated-terminal-tasks

Кроме того, ваш пост/запрос может рассматриваться как дубликат этого...

Выполнить код на встроенном терминале Visual Studio Code

person postanote    schedule 01.09.2018

Добавление этой конфигурации в файл launch.json помогло мне

 "version": "0.2.0",
"configurations": [
    {
        "type": "PowerShell",
        "request": "launch",
        "name": "PowerShell Launch Current File",
        "script": "put full path here\\launch.ps1",
        "args": ["${file}"],
        "cwd": "${file}"
    },...

Не уверен, что вы подразумеваете под «интегрированным терминалом», но вывод действительно отображается в терминале VSC, если это то, о чем вы говорите.

person IjonTichy    schedule 21.12.2018

Извините, но вы неправильно редактируете файл .vscode/tasks.json.

Допустим, в вашем сценарии у вас есть скрипт powershell ./scripts/mycustomPSscript.ps1, который вы хотите запустить как vscode task. Для этой цели отредактируйте файл tasks, чтобы он соответствовал приведенному ниже примеру:

{
    "version": "2.0.0",
    "tasks": [  
        {
            "label": "Run-some-custom-script",
            "detail": "Prepare some ENV variables for the deployment",
            "type": "shell",
            "command": "./../scripts/mycustomPSscript.ps1",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}
person Alberto S.    schedule 20.04.2020