diff --git a/arduino-ide-extension/src/browser/tool-output/client-service-impl.ts b/arduino-ide-extension/src/browser/tool-output/client-service-impl.ts index 0a81a399..59383c06 100644 --- a/arduino-ide-extension/src/browser/tool-output/client-service-impl.ts +++ b/arduino-ide-extension/src/browser/tool-output/client-service-impl.ts @@ -1,6 +1,7 @@ import { ToolOutputServiceClient } from "../../common/protocol/tool-output-service"; import { injectable, inject } from "inversify"; import { OutputChannelManager } from "@theia/output/lib/common/output-channel"; +import { OutputContribution } from "@theia/output/lib/browser/output-contribution"; @injectable() export class ToolOutputServiceClientImpl implements ToolOutputServiceClient { @@ -8,9 +9,15 @@ export class ToolOutputServiceClientImpl implements ToolOutputServiceClient { @inject(OutputChannelManager) protected readonly outputChannelManager: OutputChannelManager; + @inject(OutputContribution) + protected readonly outputContribution: OutputContribution; + onNewOutput(tool: string, chunk: string): void { - const channel = this.outputChannelManager.getChannel(`Arduino: ${tool}`); - channel.append(chunk); + this.outputContribution.openView({ reveal: true }).then(() => { + const channel = this.outputChannelManager.getChannel(`Arduino: ${tool}`); + channel.setVisibility(true); + channel.append(chunk); + }) } } \ No newline at end of file diff --git a/arduino-ide-extension/src/node/arduino-daemon.ts b/arduino-ide-extension/src/node/arduino-daemon.ts index 63a6445e..59d6697a 100644 --- a/arduino-ide-extension/src/node/arduino-daemon.ts +++ b/arduino-ide-extension/src/node/arduino-daemon.ts @@ -33,13 +33,13 @@ export class ArduinoDaemon implements BackendApplicationContribution { }); if (daemon.stdout) { daemon.stdout.on('data', data => { - this.toolOutputService.publishNewOutput("daemon", data.toString()); + this.toolOutputService.publishNewOutput('daemon', data.toString()); DaemonLog.log(this.logger, data.toString()); }); } if (daemon.stderr) { daemon.stderr.on('data', data => { - this.toolOutputService.publishNewOutput("daemon error", data.toString()); + this.toolOutputService.publishNewOutput('daemon error', data.toString()); DaemonLog.log(this.logger, data.toString()); }); }