microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.52k stars 1.55k forks source link

output to std::cout produces spurious characters in internal debug console #708

Open peterwoods1 opened 7 years ago

peterwoods1 commented 7 years ago

I'm using macOS 10.12.1, running VS Code 1.12.1 and cpptools 0.11.0

I have a simple program:

include

int main() { std::cout << "Hello World!" << std::endl; }

It outputs this in the external console: Hello World!

but this in the internal debug console: @"Hello World!\r\n"

Surely that's a bug, or have I missed something ?

pieandcakes commented 7 years ago

@peterwoods1 when you say "internal debug console" are you saying this is showing up in the Terminal window we spawn or inside VSCode? If you are referencing VSCode, this is the literal string we get back from lldb-mi through the protocol. If you want to see your program output, that is sent to the Terminal window when using the "externalConsole": true setting in launch.json.

peterwoods1 commented 7 years ago

The spurious characters are shown if the string is printed inside VSCode if you select the "DEBUG CONSOLE" tab (or use the cmd+shift+Y shortcut) and I have "externalConsole": false in launch.json.

Whilst I understand that it's the string from lldb-mi, couldn't there be an option to process it so that it matches what you'd get if you ran the program in the Terminal ?

pieandcakes commented 7 years ago

@peterwoods1 We probably could but our eventual goal is to get to the integrated termainl. I'll add this as a feature request .