Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Output from process running in Terminal appears in Console #46414

Closed
oliversalzburg opened this issue Mar 23, 2018 · 11 comments

Comments

@oliversalzburg
Copy link

commented Mar 23, 2018

Issue Type: Bug

  • In my projects launch configuration, I set "console": "integratedTerminal.
  • In my workspace, I have a compound that starts that launch configuraiton.
  • When the process outputs, the output appears in both the dedicated terminal window and the debug console.

VS Code version: Code 1.21.1 (79b44aa, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 10.0.16299

System Info
Item Value
CPUs AMD FX(tm)-8350 Eight-Core Processor (8 x 4014)
Memory (System) 15.90GB (4.08GB free)
Process Argv C:\Program Files\Microsoft VS Code\Code.exe api-testing/api-testing.code-workspace
Screen Reader no
VM 0%
Extensions (7)
Extension Author (truncated) Version
vscode-eslint dba 1.4.7
EditorConfig Edi 0.12.1
vscode-esformatter how 1.5.2
output-colorizer IBM 0.1.2
vscode-lebab mrm 2.5.0
vscode-puglint mrm 2.3.0
debugger-for-chrome msj 4.2.1

(1 theme extensions excluded)

Reproduces only with extensions
@oliversalzburg

This comment has been minimized.

Copy link
Author

commented Mar 23, 2018

Seems like this happens when generating output with console.log. When writing to an explicit stream, I get proper separation.

@isidorn

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2018

@oliversalzburg what node version do you have? Or does this happen when you use the chrome debugger?

@oliversalzburg

This comment has been minimized.

Copy link
Author

commented Mar 26, 2018

@isidorn 8.9.0 currently. And, yes, this is Node, Chrome is not involved.

@isidorn isidorn assigned roblourens and unassigned isidorn Mar 26, 2018

@roblourens

This comment has been minimized.

Copy link
Member

commented Mar 26, 2018

This is by design, when attached to a process, any output that comes over the debug port is written to the console. Is that a problem?

Seems like this happens when generating output with console.log.

That's true, writing directly to the output stream doesn't send it through the debug port.

@oliversalzburg

This comment has been minimized.

Copy link
Author

commented Mar 27, 2018

@roblourens It's unexpected in the configuration I set up.

I run 4 processes (the core processes of our platform) through a launch configuration compound and I want to (be able to) debug all of them, thus I run them through the Node debugger.

I also set these up to use a discrete terminal for each process to keep each output isolated.

However, the output of all processes is merged into the debug console, which is unfortunate at the very least. This is additionally complicated by the fact that I run a fifth process in the same session which I actually actively want to work on. I expect that process to output to the debug console.

So the whole output is just a big mess that is extremely hard to work with. https://stackoverflow.com/questions/49449739/how-to-control-terminal-names-in-debugging-compound also plays into this overall issue.

@roblourens

This comment has been minimized.

Copy link
Member

commented Mar 27, 2018

I'm trying to decide, is this just a problem of differentiating output from different processes in the debug console? @isidorn is there any other issue for filtering/labeling output from different processes?

Or, is it just about what we do with output from a process running in the terminal? It would make sense to not send output to the debug console in that case. I still do because I figure that it shouldn't hurt (and if it's too confusing, then it should be fixed, see above). But keeping the output out of the debug console in this case would be a good workaround.

@oliversalzburg

This comment has been minimized.

Copy link
Author

commented Mar 28, 2018

When I was reading through #10546 I really liked the mockup from #10546 (comment).

From my point of view, having multiple debug console tabs (one for each running process) seems like a very attractive solution. But only if they aren't solved through the dropdown approach from the terminals, which does not have a good feel to it.

My approach utilizing terminal windows was just me trying to work with what I see as my options.

@isidorn

This comment has been minimized.

Copy link
Contributor

commented Mar 28, 2018

@roblourens there might be an issue that the debug console is centralized and not per process. But feel free to create a new one.

@roblourens

This comment has been minimized.

Copy link
Member

commented Mar 28, 2018

Opened a new issue. I'll change the debug adapter to not send output to the console when the process is started in the terminal. I'll do that at the beginning of April so we can see whether anyone complains.

@roblourens roblourens added bug and removed needs more info labels Mar 28, 2018

@roblourens roblourens added this to the April 2018 milestone Mar 28, 2018

@microsoft microsoft deleted a comment from vscodebot bot Apr 4, 2018

@weinand

This comment has been minimized.

Copy link
Member

commented Apr 4, 2018

@roblourens yes, that's a good approach.

roblourens added a commit to microsoft/vscode-chrome-debug-core that referenced this issue Apr 4, 2018

@weinand

This comment has been minimized.

Copy link
Member

commented Apr 23, 2018

@roblourens this change of behaviour should be mentioned in the release notes.

@weinand weinand added the verified label Apr 25, 2018

@vscodebot vscodebot bot locked and limited conversation to collaborators May 20, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
4 participants
You can’t perform that action at this time.