为什么 Visual Studio Code 的调试控制台输出被转义以及如何修复它?

为什么 Visual Studio Code 的调试控制台输出被转义以及如何修复它?

目前,当我在 Visual Studio Code 中使用 LLDB 调试器启动程序时,由于某种原因,我在 VSCode 的调试控制台中得到了转义的 stdout 输出。例如,我的程序输出以下内容:

Playable cards: s9 s0 s8 s7
Playing: s9
  Playable cards: s0 s8 s7
  Playing: s0
    Playable cards: s8 s7

但是在 VSCode 的调试控制台中我得到了这个:

@"Playable cards: s9 s0 s8 s7 \r\n"
@"Playing: s9\r\n"
@"  Playable cards: s0 s8 s7 \r\n"
@"  Playing: s0\r\n"
@"    Playable cards: s8 s7 \r\n"

为什么格式是这样的?可以修复吗?这是在 OSX 上,使用最新的 VSCode。

我的.vscode/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": "solitaire",
            "type": "cppdbg",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceFolder}/build/solitaire",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "internalConsoleOptions": "openOnSessionStart",
            "MIMode": "lldb"
        }
    ]
}

答案1

您可以通过向 launch.json 添加“externalConsole”:true 来解决此问题,这会将输出发送到单独的终端窗口。

相关内容