Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何摆脱;终端将被任务重新使用,请按任意键将其关闭。”;行为?_Visual Studio Code_Vscode Tasks - Fatal编程技术网

Visual studio code 如何摆脱;终端将被任务重新使用,请按任意键将其关闭。”;行为?

Visual studio code 如何摆脱;终端将被任务重新使用,请按任意键将其关闭。”;行为?,visual-studio-code,vscode-tasks,Visual Studio Code,Vscode Tasks,在执行任务(本例中为货物构建)时,VSCode终端中会显示以下内容: > Executing task: cargo build < (output of the task here) Terminal will be reused by tasks, press any key to close it. >执行任务:货物构建< (此处为任务的输出) 终端将被任务重用,请按任意键将其关闭。 令人烦恼的是,这使我离开了正常的终端,然后我必须获得终端窗口的焦点,然后按一个键返回。

在执行任务(本例中为货物构建)时,VSCode终端中会显示以下内容:

> Executing task: cargo build <

(output of the task here)

Terminal will be reused by tasks, press any key to close it.
>执行任务:货物构建<
(此处为任务的输出)
终端将被任务重用,请按任意键将其关闭。
令人烦恼的是,这使我离开了正常的终端,然后我必须获得终端窗口的焦点,然后按一个键返回。当我这么做的时候,货物建造的输出就消失了

如何阻止这种行为


如何删除第一行和最后一行文本?

一种可能是在“任务”中添加以下命令:

作为

这并不能完全解决问题,但至少不能将所有结果一个接一个地堆积在面板中


启发,有一个名为
showReuseMessage
的新演示选项。将以下内容添加到任务定义中

"presentation": {
     "showReuseMessage": false
}

另一种解决方案是将输出窗口设置为自动对焦

将其添加到任务定义中:

    "presentation": {
        "focus": true
    }
这样就不再那么烦人了,因为只需按一次键就可以消除编译器的输出


这样做的好处是任务输出是可见的,因此您可以查看是否存在任何错误或警告。

要清楚,执行任务将始终在VS代码中创建新的集成终端。这是没有办法的。最重要的是显示原始终端,而不是新创建的集成终端。(我们希望显示原始终端。)

@Gregory Cosmo Haun的解决方案将抑制消息“终端将被任务重用,请按任意键将其关闭”。然而,它仍然显示了新的集成终端而不是普通终端。(因此,您仍需按“任意键”关闭该终端并显示原始终端)

更好的解决方案是设置
“显示”:“静默”
,这仍然会创建一个新的集成终端,但除非在执行任务时出现错误,否则不会显示它。我还设置了
“clear”:true
(可选),以便在执行任务之前清除终端。我故意省略了
“showReuseMessage”:false(这是可选的),但您可以添加它。谁在乎提示是否被抑制?最重要的是,新创建的终端不会显示,所以我不必“按任何键”来关闭它

"presentation": {
  "reveal": "silent",
  "clear": true
}
顺便说一句,您还可以设置“显示”:“从不”
,但如果执行任务时出现问题,您通常希望看到错误消息


在我看来,这是最好的解决办法。是的,在执行任务时始终会创建一个新的集成终端,但至少不会显示它(除非有错误),您可以安全地忽略它,而无需按任何键来关闭它。

检查VSCode 1.57(2021年5月,OP后2.5年)中的新功能是否有助于:

任务
演示文稿
属性有一个新的
关闭
属性。
close
设置为
true
将导致终端在任务退出时关闭。

{
“类型”:“外壳”,
“命令”:“node build/lib/preLaunch.js”,
“标签”:“确保启动前依赖项”,
“介绍”:{
“透露”:“沉默”,
“接近”:正确
}
}

我还想知道如何摆脱它。我正在使用“dependsOn”功能。现在我需要去控制台多次点击任意键。同样的问题。我之前没有遇到任何问题。这是版本问题还是系统相关问题?我希望在执行新任务时自动关闭旧终端。我让学生阅读旧的错误消息,因为他们认为所有的终端内容都是在任务完成后新创建的。仍然提示:按任意键关闭终端。@GangYin-您仍然需要设置
“showReuseMessage”:false来抑制消息。我不认为
“panel”:“new”
是一个好主意。这将在每次启动任务时添加一个新的集成终端。我认为默认的
“面板”:“shared”
非常好,您应该改为设置
“showReuseMessage”:false
“reveal”:“silent”
这在VSCode-win32-x64-1.34.0中对我非常有效。这实际上只隐藏了消息“
按任意键关闭终端。
”。你仍然需要按任意键才能看到你的终端。我同意@rustyx。这可能会抑制消息,但会显示一个新的集成终端,而不是原始终端。稍微改进的解决方案是将
设置为“显示”:“静音”
。这样,你不必按任何键。请看我的答案。但这意味着您仍然必须“按任意键”才能关闭启动任务时打开的集成终端。我更喜欢静默地忽略提示,这可以通过设置
“显示”:“静默”
“showReuseMessage”:false
是的,这是不想看到任务输出时的解决方案。我认为这是下一个最好的方法(隐藏任务输出),因为无法阻止显示任务输出。
    "presentation": {
        "focus": true
    }
"presentation": {
  "reveal": "silent",
  "clear": true
}