程序输出不再出现在集成终端中

问题描述

以前,当我尝试使用C / C ++扩展名和MinGW32的g ++和gdb在Windows 10上的VSCode中调试时,我可以按F5(认的“开始调试”热键),设置我的task.json和launch.json,程序的输出将出现在集成终端中,以及所有输入提示。这在我需要在调试程序以进行功课的同时还需要向程序提供输入而无需打开外壳的情况下特别有用。但是,情况不再如此,我对原因感到困惑,因为我还没有主动更改任何东西来导致这种情况发生,现在所有程序输出都出现在调试控制台中,在这里我无法输入输入。我希望将事情恢复到上面描述的状态,所有输出/输入都在集成终端中进行,但是我不确定如何实现。我也尝试使用可用的Python扩展在VSCode中调试Python程序,但是print语句的输出出现在集成终端中,我希望它能在其中显示。另外,Code Runner扩展程序可以解决我当前的问题,但是我希望将工作环境恢复到以前的状态。我当前的VSCode版本是1.49.2,我的C / C ++扩展版本是1.0.1,而我的Python扩展版本是2020.9.111407。我也在使用g ++。exe(MinGW.org GCC Build-20200227-1)9.2.0和GNU gdb(GDB)7.6.1

为获得最大的清晰度,可以通过手动键入g ++和gdb命令从集成终端进行编译和调试,但是F5不再产生我期望的行为。

我确保我的launch.json具有“ externalConsole”:正确设置为false,我的Terminal:Explorer Kind设置设置为“ integrated”,并且Terminal> Integrated:Inherit Env设置为true。我试图切换所有这些选项,在Windows 8的管理员模式下运行,在兼容模式下运行,回滚到我正在使用的扩展程序的旧版本,并且没有任何改变。

tasks.json:

{
"tasks": [
    {
        "type": "shell","label": "C/C++: g++.exe build active file","command": "C:\\Programming\\MinGW32\\bin\\g++.exe","args": [
            "-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"
        ],"options": {
            "cwd": "${workspaceFolder}"
        },"problemmatcher": [
            "$gcc"
        ],"group": {
            "kind": "build","isDefault": true
        }
    }
],"version": "2.0.0"
}

launch.json:

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information,visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0","configurations": [
    {
        "name": "g++.exe - Build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\Programming\\MinGW32\\bin\\gdb.exe","setupCommands": [
            {
                "description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true
            }
        ],"prelaunchTask": "C/C++: g++.exe build active file"
    }
]
}

test.cpp:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello\n";

    system("pause");
    return 0;
}

This is what happens when I press F5 on a python file,这是我期望的那种行为。

This is what happens when I press F5 on my cpp file,集成终端中没有输出

Instead,it appears here.

由于它的简单性,我选择从第一张图片中的.py文件中省略代码

UPDATE(2020年9月28日):显然已经记录了该问题here,对我有用的解决方案是从他们的sourceforge安装mingw-w64,然后更新系统中的mingw路径环境变量。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...