Skip to content

Commit fea4ff2

Browse files
committed
Move all renderer-side terminal logs to ITerminalLogService
1 parent 2566318 commit fea4ff2

31 files changed

+84
-88
lines changed

src/vs/platform/terminal/common/capabilities/commandDetectionCapability.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ export class CommandDetectionCapability implements ICommandDetectionCapability {
112112

113113
constructor(
114114
private readonly _terminal: Terminal,
115-
@ILogService private readonly _logService: ILogService
115+
private readonly _logService: ILogService
116116
) {
117117
this._dimensions = {
118118
cols: this._terminal.cols,

src/vs/platform/terminal/common/terminal.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { ThemeIcon } from 'vs/base/common/themables';
1313
import { ISerializableEnvironmentVariableCollections } from 'vs/platform/terminal/common/environmentVariable';
1414
import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
1515
import { IWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
16-
import { ILogger } from 'vs/platform/log/common/log';
16+
import { ILogService } from 'vs/platform/log/common/log';
1717

1818
export const terminalTabFocusContextKey = new RawContextKey<boolean>('terminalTabFocusMode', false, true);
1919

@@ -955,4 +955,11 @@ export const ILocalPtyService = createDecorator<ILocalPtyService>('localPtyServi
955955
export interface ILocalPtyService extends IPtyService { }
956956

957957
export const ITerminalLogService = createDecorator<ITerminalLogService>('terminalLogService');
958-
export interface ITerminalLogService extends ILogger { }
958+
export interface ITerminalLogService extends ILogService {
959+
/**
960+
* Similar to _serviceBrand but used to differentiate this service at compile time from
961+
* ILogService; ITerminalLogService is an ILogService, but ILogService is not an
962+
* ITerminalLogService.
963+
*/
964+
readonly _logBrand: undefined;
965+
}

src/vs/platform/terminal/common/terminalLogService.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { ITerminalLogService } from 'vs/platform/terminal/common/terminal';
1111

1212
export class TerminalLogService extends Disposable implements ITerminalLogService {
1313
declare _serviceBrand: undefined;
14+
declare _logBrand: undefined;
1415

1516
private readonly _logger: ILogger;
1617

@@ -23,10 +24,10 @@ export class TerminalLogService extends Disposable implements ITerminalLogServic
2324

2425
getLevel(): LogLevel { return this._logger.getLevel(); }
2526
setLevel(level: LogLevel): void { this._logger.setLevel(level); }
26-
trace(message: string, ...args: any[]): void { this.trace(message, args); }
27-
debug(message: string, ...args: any[]): void { this.debug(message, args); }
28-
info(message: string, ...args: any[]): void { this.info(message, args); }
29-
warn(message: string, ...args: any[]): void { this.warn(message, args); }
30-
error(message: string | Error, ...args: any[]): void { this.error(message, args); }
27+
trace(message: string, ...args: any[]): void { this._logger.trace(message, args); }
28+
debug(message: string, ...args: any[]): void { this._logger.debug(message, args); }
29+
info(message: string, ...args: any[]): void { this._logger.info(message, args); }
30+
warn(message: string, ...args: any[]): void { this._logger.warn(message, args); }
31+
error(message: string | Error, ...args: any[]): void { this._logger.error(message, args); }
3132
flush(): void { this._logger.flush(); }
3233
}

src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ export class ShellIntegrationAddon extends Disposable implements IShellIntegrati
209209
private _nonce: string,
210210
private readonly _disableTelemetry: boolean | undefined,
211211
private readonly _telemetryService: ITelemetryService | undefined,
212-
@ILogService private readonly _logService: ILogService
212+
private readonly _logService: ILogService
213213
) {
214214
super();
215215
this._register(toDisposable(() => {

src/vs/server/node/remoteTerminalChannel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { URI } from 'vs/base/common/uri';
1313
import { IURITransformer } from 'vs/base/common/uriIpc';
1414
import { IServerChannel } from 'vs/base/parts/ipc/common/ipc';
1515
import { createRandomIPCHandle } from 'vs/base/parts/ipc/node/ipc.net';
16-
import { ILogService } from 'vs/platform/log/common/log';
1716
import { RemoteAgentConnectionContext } from 'vs/platform/remote/common/remoteAgentEnvironment';
1817
import { IPtyService, IShellLaunchConfig, ITerminalProfile } from 'vs/platform/terminal/common/terminal';
1918
import { IGetTerminalLayoutInfoArgs, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
@@ -32,6 +31,7 @@ import { IProductService } from 'vs/platform/product/common/productService';
3231
import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
3332
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
3433
import { withNullAsUndefined } from 'vs/base/common/types';
34+
import { ILogService } from 'vs/platform/log/common/log';
3535

3636
class CustomVariableResolver extends AbstractVariableResolverService {
3737
constructor(

src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import { Disposable } from 'vs/base/common/lifecycle';
88
import { Schemas } from 'vs/base/common/network';
99
import { withNullAsUndefined } from 'vs/base/common/types';
1010
import { localize } from 'vs/nls';
11-
import { ILogService } from 'vs/platform/log/common/log';
12-
import { ICrossVersionSerializedTerminalState, IPtyHostController, ISerializedTerminalState } from 'vs/platform/terminal/common/terminal';
11+
import { ICrossVersionSerializedTerminalState, IPtyHostController, ISerializedTerminalState, ITerminalLogService } from 'vs/platform/terminal/common/terminal';
1312
import { themeColorFromId } from 'vs/platform/theme/common/themeService';
1413
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
1514
import { STATUS_BAR_WARNING_ITEM_BACKGROUND, STATUS_BAR_WARNING_ITEM_FOREGROUND } from 'vs/workbench/common/theme';
@@ -32,7 +31,7 @@ export abstract class BaseTerminalBackend extends Disposable {
3231

3332
constructor(
3433
private readonly _ptyHostController: IPtyHostController,
35-
protected readonly _logService: ILogService,
34+
protected readonly _logService: ITerminalLogService,
3635
historyService: IHistoryService,
3736
configurationResolverService: IConfigurationResolverService,
3837
statusBarService: IStatusbarService,

src/vs/workbench/contrib/terminal/browser/remotePty.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import { Barrier } from 'vs/base/common/async';
77
import { Emitter } from 'vs/base/common/event';
88
import { Disposable } from 'vs/base/common/lifecycle';
99
import { URI } from 'vs/base/common/uri';
10-
import { ILogService } from 'vs/platform/log/common/log';
1110
import { IPtyHostProcessReplayEvent, ISerializedCommandDetectionCapability } from 'vs/platform/terminal/common/capabilities/capabilities';
12-
import { IProcessDataEvent, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap, ProcessPropertyType, IProcessReadyEvent } from 'vs/platform/terminal/common/terminal';
11+
import { IProcessDataEvent, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap, ProcessPropertyType, IProcessReadyEvent, ITerminalLogService } from 'vs/platform/terminal/common/terminal';
1312
import { RemoteTerminalChannelClient } from 'vs/workbench/contrib/terminal/common/remoteTerminalChannel';
1413
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
1514

@@ -49,7 +48,7 @@ export class RemotePty extends Disposable implements ITerminalChildProcess {
4948
readonly shouldPersist: boolean,
5049
private readonly _remoteTerminalChannel: RemoteTerminalChannelClient,
5150
private readonly _remoteAgentService: IRemoteAgentService,
52-
private readonly _logService: ILogService
51+
private readonly _logService: ITerminalLogService
5352
) {
5453
super();
5554
this._startBarrier = new Barrier();

src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@ import { IProcessEnvironment, OperatingSystem } from 'vs/base/common/platform';
99
import { ICommandService } from 'vs/platform/commands/common/commands';
1010
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
1111
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
12-
import { ILogService } from 'vs/platform/log/common/log';
1312
import { Registry } from 'vs/platform/registry/common/platform';
1413
import { IRemoteAuthorityResolverService } from 'vs/platform/remote/common/remoteAuthorityResolver';
1514
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
1615
import { ISerializedTerminalCommand } from 'vs/platform/terminal/common/capabilities/capabilities';
17-
import { IShellLaunchConfig, IShellLaunchConfigDto, ITerminalChildProcess, ITerminalEnvironment, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, ProcessPropertyType, TerminalIcon, TerminalSettingId, TitleEventSource } from 'vs/platform/terminal/common/terminal';
16+
import { IShellLaunchConfig, IShellLaunchConfigDto, ITerminalChildProcess, ITerminalEnvironment, ITerminalLogService, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, ProcessPropertyType, TerminalIcon, TerminalSettingId, TitleEventSource } from 'vs/platform/terminal/common/terminal';
1817
import { IProcessDetails } from 'vs/platform/terminal/common/terminalProcess';
1918
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
2019
import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
@@ -57,7 +56,7 @@ class RemoteTerminalBackend extends BaseTerminalBackend implements ITerminalBack
5756
readonly remoteAuthority: string | undefined,
5857
private readonly _remoteTerminalChannel: RemoteTerminalChannelClient,
5958
@IRemoteAgentService private readonly _remoteAgentService: IRemoteAgentService,
60-
@ILogService logService: ILogService,
59+
@ITerminalLogService logService: ITerminalLogService,
6160
@ICommandService private readonly _commandService: ICommandService,
6261
@IStorageService private readonly _storageService: IStorageService,
6362
@IRemoteAuthorityResolverService private readonly _remoteAuthorityResolverService: IRemoteAuthorityResolverService,

src/vs/workbench/contrib/terminal/browser/terminalInstance.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
3939
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
4040
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
4141
import { ResultKind } from 'vs/platform/keybinding/common/keybindingResolver';
42-
import { ILogService } from 'vs/platform/log/common/log';
4342
import { INotificationService, IPromptChoice, Severity } from 'vs/platform/notification/common/notification';
4443
import { IOpenerService } from 'vs/platform/opener/common/opener';
4544
import { IProductService } from 'vs/platform/product/common/productService';
@@ -50,7 +49,7 @@ import { IMarkProperties, ITerminalCommand, TerminalCapability } from 'vs/platfo
5049
import { TerminalCapabilityStoreMultiplexer } from 'vs/platform/terminal/common/capabilities/terminalCapabilityStore';
5150
import { IEnvironmentVariableCollection, IMergedEnvironmentVariableCollection } from 'vs/platform/terminal/common/environmentVariable';
5251
import { deserializeEnvironmentVariableCollections } from 'vs/platform/terminal/common/environmentVariableShared';
53-
import { IProcessDataEvent, IProcessPropertyMap, IReconnectionProperties, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, PosixShellType, ProcessPropertyType, ShellIntegrationStatus, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal';
52+
import { IProcessDataEvent, IProcessPropertyMap, IReconnectionProperties, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, ITerminalLogService, PosixShellType, ProcessPropertyType, ShellIntegrationStatus, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal';
5453
import { formatMessageForTerminal } from 'vs/platform/terminal/common/terminalStrings';
5554
import { editorBackground } from 'vs/platform/theme/common/colorRegistry';
5655
import { getIconRegistry } from 'vs/platform/theme/common/iconRegistry';
@@ -337,7 +336,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
337336
@IClipboardService private readonly _clipboardService: IClipboardService,
338337
@IThemeService private readonly _themeService: IThemeService,
339338
@IConfigurationService private readonly _configurationService: IConfigurationService,
340-
@ILogService private readonly _logService: ILogService,
339+
@ITerminalLogService private readonly _logService: ITerminalLogService,
341340
@IDialogService private readonly _dialogService: IDialogService,
342341
@IStorageService private readonly _storageService: IStorageService,
343342
@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,

src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@ import { localize } from 'vs/nls';
1212
import { formatMessageForTerminal } from 'vs/platform/terminal/common/terminalStrings';
1313
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
1414
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
15-
import { ILogService } from 'vs/platform/log/common/log';
1615
import { IProductService } from 'vs/platform/product/common/productService';
1716
import { getRemoteAuthority } from 'vs/platform/remote/common/remoteHosts';
1817
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
1918
import { ISerializedCommandDetectionCapability, TerminalCapability } from 'vs/platform/terminal/common/capabilities/capabilities';
2019
import { NaiveCwdDetectionCapability } from 'vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability';
2120
import { TerminalCapabilityStore } from 'vs/platform/terminal/common/capabilities/terminalCapabilityStore';
22-
import { FlowControlConstants, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from 'vs/platform/terminal/common/terminal';
21+
import { FlowControlConstants, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from 'vs/platform/terminal/common/terminal';
2322
import { TerminalRecorder } from 'vs/platform/terminal/common/terminalRecorder';
2423
import { IWorkspaceContextService, IWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
2524
import { EnvironmentVariableInfoChangesActive, EnvironmentVariableInfoStale } from 'vs/workbench/contrib/terminal/browser/environmentVariableInfo';
@@ -134,7 +133,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
134133
shellIntegrationNonce: string | undefined,
135134
@IHistoryService private readonly _historyService: IHistoryService,
136135
@IInstantiationService private readonly _instantiationService: IInstantiationService,
137-
@ILogService private readonly _logService: ILogService,
136+
@ITerminalLogService private readonly _logService: ITerminalLogService,
138137
@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,
139138
@IConfigurationResolverService private readonly _configurationResolverService: IConfigurationResolverService,
140139
@IWorkbenchEnvironmentService private readonly _workbenchEnvironmentService: IWorkbenchEnvironmentService,
@@ -721,7 +720,7 @@ class SeamlessRelaunchDataFilter extends Disposable {
721720
get onProcessData(): Event<string | IProcessDataEvent> { return this._onProcessData.event; }
722721

723722
constructor(
724-
@ILogService private readonly _logService: ILogService
723+
@ITerminalLogService private readonly _logService: ITerminalLogService
725724
) {
726725
super();
727726
}

0 commit comments

Comments
 (0)