VSCode C++ 运行结束马上退出, 窗口一闪而过解决办法, 不修改代码

VSCode 用来写C++挺方便的,但是有个问题,在运行结束以后会马上退出,看不到窗口内容。

网上很多方法都是在程序最后加getchar()语句,或者用system("pause"),来达到运行结束以后,再按任意键才会退出的效果。

但是我不想修改代码,也想达到这个效果,我们可以通过修改VSCode的运行命令,通过cmd的参数 "/C" 来实现。

比如VSCode的launch.json配置文件,加一个(Windows) Launch的配置,这个配置表示不启动调试,直接运行。配置内容如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "pause"

            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole":true
        },
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/usr/TDM-GCC-64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures":false
                }
            ]        }
    ]
}

注意args这个参数的json数组,每个参数必须写成一个独立的数组元素。如果把参数合在一起,比如把两个参数“&” 和 "pause" 写成一个"& pause",就不能运行。

这个方法主要是通过cmd的参数 "/C" 来实现,它的效果是:"执行字符串指定的命令然后终止"。此外,还可以通过 ”help cmd“来查看所有可用的参数。

文章来自:https://www.cnblogs.com/islety/p/9771782.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3