我是一名新的C++学习者,并使用Visual Studio代码作为我的IDE。作为一个例子,一个cpp文件在其中写入了hello world程序。在VSC中,我使用名为Build
(>任务:运行构建任务)的任务编译cpp文件,并使用名为Run
(>任务:运行任务)的任务运行该文件。 (tasks.json在下面给出)如何停止任务运行终端程序在Visual Studio代码结束后自动退出?
但是,当我Run
,“任务 - 运行”命名的新的终端开始,显示输出,并立即退出(它很难看到什么是输出)。
是否有任何命令可以放入tasks.json文件中,以便程序在结束后不会消失?或者还有其他解决方法吗?
//my tasks.json file
{
"version": "2.0.0",
"tasks": [
{
"taskName": "Build",
"type": "shell",
"command": "g++",
"args": [
"main.cpp"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
},
{
"taskName": "Run",
"type": "shell",
"command": "./a.out",
"problemMatcher": []
}
]
}
一种解决方法是尝试在应用程序的末尾读取新行,以便它等待用户输入。然后,当你按下回车键时(因为\ n字符)它会退出。 –
感谢您的快速响应,但我不想更改源代码。描述中的“Hello world”仅仅是一个例子。我有时参与竞争性编程,在那里,我不能在代码的末尾添加一个新的线路阅读器(因为这会在所有OJ中导致TLE)。还有更多的理由不改变源代码。 –
我明白了。那确实存在问题。另一种方法是尝试拦截SIGTERM信号,并以某种方式阻止终端关闭,但这也意味着修改源代码(实际上相当多)。如果这仍然不能满足您的需求,那么我认为唯一需要做的就是搜索IDE或'tasks.json'文件以进行某种设置。 –