mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-27 20:13:32 +01:00
43 lines
1.9 KiB
TypeScript
43 lines
1.9 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers';
|
|
import { MainContext, MainThreadConsoleShape } from 'vs/workbench/api/common/extHost.protocol';
|
|
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
|
import { IRemoteConsoleLog, log } from 'vs/base/common/console';
|
|
import { logRemoteEntry, logRemoteEntryIfError } from 'vs/workbench/services/extensions/common/remoteConsoleUtil';
|
|
import { parseExtensionDevOptions } from 'vs/workbench/services/extensions/common/extensionDevOptions';
|
|
import { ILogService } from 'vs/platform/log/common/log';
|
|
|
|
@extHostNamedCustomer(MainContext.MainThreadConsole)
|
|
export class MainThreadConsole implements MainThreadConsoleShape {
|
|
|
|
private readonly _isExtensionDevTestFromCli: boolean;
|
|
|
|
constructor(
|
|
_extHostContext: IExtHostContext,
|
|
@IEnvironmentService private readonly _environmentService: IEnvironmentService,
|
|
@ILogService private readonly _logService: ILogService,
|
|
) {
|
|
const devOpts = parseExtensionDevOptions(this._environmentService);
|
|
this._isExtensionDevTestFromCli = devOpts.isExtensionDevTestFromCli;
|
|
}
|
|
|
|
dispose(): void {
|
|
//
|
|
}
|
|
|
|
$logExtensionHostMessage(entry: IRemoteConsoleLog): void {
|
|
if (this._isExtensionDevTestFromCli) {
|
|
// If running tests from cli, log to the log service everything
|
|
logRemoteEntry(this._logService, entry);
|
|
} else {
|
|
// Log to the log service only errors and log everything to local console
|
|
logRemoteEntryIfError(this._logService, entry, 'Extension Host');
|
|
log(entry, 'Extension Host');
|
|
}
|
|
}
|
|
}
|