Resources/Editor/VSCode/tasks.json

// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${relativeFile}: the current opened file relative to workspaceRoot
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process
// If you are using InvokeBuild you can enhance this tasks.json using the New-VSCodeTask command:
// Install-Script New-VSCodeTask
// New-VSCodeTask.ps1 -BuildFile .\src\YourModuleName.build.ps1
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
 
    // Start PowerShell
    "windows": {
        "options": {
            "shell": {
                //"executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
                // "executable": "C:\\Program Files\\PowerShell\\6\\pwsh.exe",
                "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
                "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command" ]
            }
        }
    },
    "linux": {
        "options": {
            "shell": {
                "executable": "/usr/bin/pwsh",
                "args": [ "-NoProfile", "-Command" ]
            }
        }
    },
    "osx": {
        "options": {
            "shell": {
                "executable": "/usr/local/bin/pwsh",
                "args": [ "-NoProfile", "-Command" ]
            }
        }
    },
 
    // Associate with test task runner
    "tasks": [
        {
            "label": "Test",
            "type": "shell",
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "problemMatcher": [ "$pester" ],
            "command": "Invoke-Pester -PesterOption @{IncludeVSCodeMarker=$true}"
        }
    ]
}