VSCode - 任务版本2.0.0:如何使用"输出"控制台,而不是终端

时间:2017-10-26 19:20:19

标签: visual-studio-code

我有一个版本0.1.0的任务,我尝试迁移到2.0.0。

此任务只是使用Gulp脚本将Typescript转换为Javascript。输出显示在"输出"控制台,没有涉及终端,我希望它保持这种方式(主要是因为臭名昭着的消息" Terminal will be reused by tasks, press any key to close it."在终端任何命令的末尾!)。

我无法看到如何将此任务迁移到版本2.0.0,因此不涉及终端!

此处的版本为 0.1.0

{
    "version": "0.1.0",
    "command": "${workspaceRoot}/node_modules/.bin/gulp",
    "isShellCommand": true,
    "showOutput": "always",
    "suppressTaskName": true,
    "tasks": [
        {
            "taskName": "compile",
            "args": [
                "compile",
                "exit"
            ],
            "isBuildCommand": true,
            "problemMatcher": "$tsc"
        }
    ]
}

这是我目前尝试的版本 2.0.0

{
    "version": "2.0.0",
    "tasks": [
        {
            "identifier": "compile",
            "type": "shell",
            "taskName": "compile",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "new"
            },
            "command": "${workspaceRoot}/node_modules/.bin/gulp compile exit",
            "problemMatcher": [
                "$tsc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

显示集成终端中的输出。

如何让它使用输出控制台

2 个答案:

答案 0 :(得分:2)

建议使用任务面板,但是如果您确实需要使用输出面板。您需要实现CustomExecution并获取命令的输出。然后要写入输出面板,首先您需要创建一个专用的输出通道并对其进行写入:

let outputChannel = vscode.window.createOutputChannel('channelName');
outputChannel.appendLine('message');

答案 1 :(得分:1)

尝试将"reveal": "always",更改为"reveal": "never",