实时调试时如何从VScode中读取控制台输入

时间:2019-05-17 00:58:29

标签: c debugging visual-studio-code

我正在尝试对C程序进行实时调试,该程序使用VScode中的C / C ++扩展,还允许我使用scanf()将直接输入写入控制台。但是,当我调试代码时,它将打开调试控制台,该控制台不允许我输入任何输入。

我找到了两个线程,人们在其中回答了这个问题:

https://github.com/OmniSharp/omnisharp-vscode/issues/1053

Debug Console window cannot accept Console.ReadLine() input during debugging

两者都建议将launch.json文件中的“ console”属性设置为“ externalTerminal”或“ integratedTerminal”。但是,我找不到该属性或为此创建属性,因为它在我的文件中不存在。

我确实具有“ externalConsole”属性,可以将其设置为true或false。但是这两个选项似乎都像以前一样打开调试控制台。

launch.json文件:

@stencil(neighborhood = ((-4, 4),))
def ma(a):
    cumul = 0
    for i in range(-4, 5):
        cumul += a[i]
    return cumul / 9

当我尝试向调试控制台写入内容时会发生什么:

def wrapper(data, N): @nb.stencil(neighborhood = ((int(-(N-1)/2), int((N-1)/2)),)) def ma(a): cumul = 0 for i in np.arange(int(-(N-1)/2), int((N-1)/2)+1): cumul += a[i] return cumul / N return ma(data)

1 个答案:

答案 0 :(得分:-1)

在看到您的帖子之前,我同样感到困惑。在我的Windows环境中,我将“ externalConsole”设置为true。之后,当调试开始时,我的程序的cmd外壳(不是VScode提供的“调试控制台”)可以在其中键入stdin。!(https://i.stack.imgur.com/KKlJP.jpg