VSCode C++ 運行結束馬上退出, 窗口一閃而過解決辦法, 不修改代碼


更新於2020-4-13,我已經不用這種方法了,現在VSCode和WSL深度整合,自己不用做太多配置,具體設置參考微軟的教程:

1.Get Started with C++ and Windows Subsystem for Linux (WSL)  (目前我正在使用這種方式,推薦)

2.Get Started with C++ and Mingw-w64

3.Get Started with C++ and Clang/LLVM on macOS

4.Get Started with C++ and Microsoft C++ compiler (MSVC)

以下是原文

---------------------------------------------------------------------------------------------------------------------------

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“來查看所有可用的參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM