Rename terminal id to instance id

Part of #117978
This commit is contained in:
Daniel Imms 2021-03-02 11:08:12 -08:00
parent 88d9e2b46b
commit 647773d7e6
10 changed files with 61 additions and 61 deletions

View file

@ -63,8 +63,8 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
this._toDispose.add(_terminalService.onInstanceDimensionsChanged(instance => this._onInstanceDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onInstanceMaximumDimensionsChanged(instance => this._onInstanceMaximumDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onInstanceRequestStartExtensionTerminal(e => this._onRequestStartExtensionTerminal(e)));
this._toDispose.add(_terminalService.onActiveInstanceChanged(instance => this._onActiveTerminalChanged(instance ? instance.id : null)));
this._toDispose.add(_terminalService.onInstanceTitleChanged(instance => instance && this._onTitleChanged(instance.id, instance.title)));
this._toDispose.add(_terminalService.onActiveInstanceChanged(instance => this._onActiveTerminalChanged(instance ? instance.instanceId : null)));
this._toDispose.add(_terminalService.onInstanceTitleChanged(instance => instance && this._onTitleChanged(instance.instanceId, instance.title)));
this._toDispose.add(_terminalService.configHelper.onWorkspacePermissionsChanged(isAllowed => this._onWorkspacePermissionsChanged(isAllowed)));
this._toDispose.add(_terminalService.onRequestAvailableShells(e => this._onRequestAvailableShells(e)));
@ -80,7 +80,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
});
const activeInstance = this._terminalService.getActiveInstance();
if (activeInstance) {
this._proxy.$acceptActiveTerminalChanged(activeInstance.id);
this._proxy.$acceptActiveTerminalChanged(activeInstance.instanceId);
}
if (this._environmentVariableService.collections.size > 0) {
const collectionAsArray = [...this._environmentVariableService.collections.entries()];
@ -132,7 +132,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
isFeatureTerminal: launchConfig.isFeatureTerminal
};
const terminal = this._terminalService.createTerminal(shellLaunchConfig);
this._extHostTerminalIds.set(extHostTerminalId, terminal.id);
this._extHostTerminalIds.set(extHostTerminalId, terminal.instanceId);
}
public $show(id: TerminalIdentifier, preserveFocus: boolean): void {
@ -146,7 +146,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
public $hide(id: TerminalIdentifier): void {
const rendererId = this._getTerminalId(id);
const instance = this._terminalService.getActiveInstance();
if (instance && instance.id === rendererId) {
if (instance && instance.instanceId === rendererId) {
this._terminalService.hidePanel();
}
}
@ -172,7 +172,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
});
// Send initial events if they exist
this._terminalService.terminalInstances.forEach(t => {
t.initialDataEvents?.forEach(d => this._onTerminalData(t.id, d));
t.initialDataEvents?.forEach(d => this._onTerminalData(t.instanceId, d));
});
}
}
@ -215,7 +215,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
}
private _onTerminalDisposed(terminalInstance: ITerminalInstance): void {
this._proxy.$acceptTerminalClosed(terminalInstance.id, terminalInstance.exitCode);
this._proxy.$acceptTerminalClosed(terminalInstance.instanceId, terminalInstance.exitCode);
}
private _onTerminalOpened(terminalInstance: ITerminalInstance): void {
@ -228,27 +228,27 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
env: terminalInstance.shellLaunchConfig.env,
hideFromUser: terminalInstance.shellLaunchConfig.hideFromUser
};
this._proxy.$acceptTerminalOpened(terminalInstance.id, extHostTerminalId, terminalInstance.title, shellLaunchConfigDto);
this._proxy.$acceptTerminalOpened(terminalInstance.instanceId, extHostTerminalId, terminalInstance.title, shellLaunchConfigDto);
}
private _onTerminalProcessIdReady(terminalInstance: ITerminalInstance): void {
if (terminalInstance.processId === undefined) {
return;
}
this._proxy.$acceptTerminalProcessId(terminalInstance.id, terminalInstance.processId);
this._proxy.$acceptTerminalProcessId(terminalInstance.instanceId, terminalInstance.processId);
}
private _onInstanceDimensionsChanged(instance: ITerminalInstance): void {
this._proxy.$acceptTerminalDimensions(instance.id, instance.cols, instance.rows);
this._proxy.$acceptTerminalDimensions(instance.instanceId, instance.cols, instance.rows);
}
private _onInstanceMaximumDimensionsChanged(instance: ITerminalInstance): void {
this._proxy.$acceptTerminalMaximumDimensions(instance.id, instance.maxCols, instance.maxRows);
this._proxy.$acceptTerminalMaximumDimensions(instance.instanceId, instance.maxCols, instance.maxRows);
}
private _onRequestStartExtensionTerminal(request: IStartExtensionTerminalRequest): void {
const proxy = request.proxy;
this._terminalProcessProxies.set(proxy.terminalId, proxy);
this._terminalProcessProxies.set(proxy.instanceId, proxy);
// Note that onReisze is not being listened to here as it needs to fire when max dimensions
// change, excluding the dimension override
@ -258,15 +258,15 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
} : undefined;
this._proxy.$startExtensionTerminal(
proxy.terminalId,
proxy.instanceId,
initialDimensions
).then(request.callback);
proxy.onInput(data => this._proxy.$acceptProcessInput(proxy.terminalId, data));
proxy.onShutdown(immediate => this._proxy.$acceptProcessShutdown(proxy.terminalId, immediate));
proxy.onRequestCwd(() => this._proxy.$acceptProcessRequestCwd(proxy.terminalId));
proxy.onRequestInitialCwd(() => this._proxy.$acceptProcessRequestInitialCwd(proxy.terminalId));
proxy.onRequestLatency(() => this._onRequestLatency(proxy.terminalId));
proxy.onInput(data => this._proxy.$acceptProcessInput(proxy.instanceId, data));
proxy.onShutdown(immediate => this._proxy.$acceptProcessShutdown(proxy.instanceId, immediate));
proxy.onRequestCwd(() => this._proxy.$acceptProcessRequestCwd(proxy.instanceId));
proxy.onRequestInitialCwd(() => this._proxy.$acceptProcessRequestInitialCwd(proxy.instanceId));
proxy.onRequestLatency(() => this._onRequestLatency(proxy.instanceId));
}
public $sendProcessTitle(terminalId: number, title: string): void {
@ -399,12 +399,12 @@ class TerminalDataEventTracker extends Disposable {
this._terminalService.terminalInstances.forEach(instance => this._registerInstance(instance));
this._register(this._terminalService.onInstanceCreated(instance => this._registerInstance(instance)));
this._register(this._terminalService.onInstanceDisposed(instance => this._bufferer.stopBuffering(instance.id)));
this._register(this._terminalService.onInstanceDisposed(instance => this._bufferer.stopBuffering(instance.instanceId)));
}
private _registerInstance(instance: ITerminalInstance): void {
// Buffer data events to reduce the amount of messages going to the extension host
this._register(this._bufferer.startBuffering(instance.id, instance.onData));
this._register(this._bufferer.startBuffering(instance.instanceId, instance.onData));
}
}
@ -416,13 +416,13 @@ class ExtensionTerminalLinkProvider implements ITerminalExternalLinkProvider {
async provideLinks(instance: ITerminalInstance, line: string): Promise<ITerminalLink[] | undefined> {
const proxy = this._proxy;
const extHostLinks = await proxy.$provideLinks(instance.id, line);
const extHostLinks = await proxy.$provideLinks(instance.instanceId, line);
return extHostLinks.map(dto => ({
id: dto.id,
startIndex: dto.startIndex,
length: dto.length,
label: dto.label,
activate: () => proxy.$activateLink(instance.id, dto.id)
activate: () => proxy.$activateLink(instance.instanceId, dto.id)
}));
}
}

View file

@ -296,7 +296,7 @@ export class TerminalTaskSystem implements ITaskSystem {
}
const activeTerminalInstance = this.terminalService.getActiveInstance();
const isPanelShowingTerminal = !!this.viewsService.getActiveViewWithId(TERMINAL_VIEW_ID);
return isPanelShowingTerminal && (activeTerminalInstance?.id === terminalData.terminal.id);
return isPanelShowingTerminal && (activeTerminalInstance?.instanceId === terminalData.terminal.instanceId);
}
@ -782,7 +782,7 @@ export class TerminalTaskSystem implements ITaskSystem {
}, (_error) => {
this.logService.error('Task terminal process never got ready');
});
this._onDidStateChange.fire(TaskEvent.create(TaskEventKind.Start, task, terminal.id));
this._onDidStateChange.fire(TaskEvent.create(TaskEventKind.Start, task, terminal.instanceId));
let skipLine: boolean = (!!task.command.presentation && task.command.presentation.echo);
const onData = terminal.onLineData((line) => {
if (skipLine) {
@ -812,10 +812,10 @@ export class TerminalTaskSystem implements ITaskSystem {
// Only keep a reference to the terminal if it is not being disposed.
switch (task.command.presentation!.panel) {
case PanelKind.Dedicated:
this.sameTaskTerminals[key] = terminal!.id.toString();
this.sameTaskTerminals[key] = terminal!.instanceId.toString();
break;
case PanelKind.Shared:
this.idleTaskTerminals.set(key, terminal!.id.toString(), Touch.AsOld);
this.idleTaskTerminals.set(key, terminal!.instanceId.toString(), Touch.AsOld);
break;
}
}
@ -868,7 +868,7 @@ export class TerminalTaskSystem implements ITaskSystem {
}, (_error) => {
// The process never got ready. Need to think how to handle this.
});
this._onDidStateChange.fire(TaskEvent.create(TaskEventKind.Start, task, terminal.id, resolver.values));
this._onDidStateChange.fire(TaskEvent.create(TaskEventKind.Start, task, terminal.instanceId, resolver.values));
const mapKey = task.getMapKey();
this.busyTasks[mapKey] = task;
this._onDidStateChange.fire(TaskEvent.create(TaskEventKind.Active, task));
@ -892,10 +892,10 @@ export class TerminalTaskSystem implements ITaskSystem {
// Only keep a reference to the terminal if it is not being disposed.
switch (task.command.presentation!.panel) {
case PanelKind.Dedicated:
this.sameTaskTerminals[key] = terminal!.id.toString();
this.sameTaskTerminals[key] = terminal!.instanceId.toString();
break;
case PanelKind.Shared:
this.idleTaskTerminals.set(key, terminal!.id.toString(), Touch.AsOld);
this.idleTaskTerminals.set(key, terminal!.instanceId.toString(), Touch.AsOld);
break;
}
}
@ -1215,7 +1215,7 @@ export class TerminalTaskSystem implements ITaskSystem {
if (task.command.presentation && task.command.presentation.clear) {
terminalToReuse.terminal.clear();
}
this.terminals[terminalToReuse.terminal.id.toString()].lastTask = taskKey;
this.terminals[terminalToReuse.terminal.instanceId.toString()].lastTask = taskKey;
return [terminalToReuse.terminal, commandExecutable, undefined];
}
@ -1239,7 +1239,7 @@ export class TerminalTaskSystem implements ITaskSystem {
result = this.terminalService.createTerminal(launchConfigs);
}
const terminalKey = result.id.toString();
const terminalKey = result.instanceId.toString();
result.onDisposed((terminal) => {
let terminalData = this.terminals[terminalKey];
if (terminalData) {

View file

@ -40,7 +40,7 @@ export class RemoteTerminalService extends Disposable implements IRemoteTerminal
}
}
public async createRemoteTerminalProcess(terminalId: number, shellLaunchConfig: IShellLaunchConfig, activeWorkspaceRootUri: URI | undefined, cols: number, rows: number, shouldPersist: boolean, configHelper: ITerminalConfigHelper): Promise<ITerminalChildProcess> {
public async createRemoteTerminalProcess(instanceId: number, shellLaunchConfig: IShellLaunchConfig, activeWorkspaceRootUri: URI | undefined, cols: number, rows: number, shouldPersist: boolean, configHelper: ITerminalConfigHelper): Promise<ITerminalChildProcess> {
if (!this._remoteTerminalChannel) {
throw new Error(`Cannot create remote terminal when there is no remote!`);
}
@ -53,7 +53,7 @@ export class RemoteTerminalService extends Disposable implements IRemoteTerminal
});
}
return new RemoteTerminalProcess(terminalId, shouldPersist, shellLaunchConfig, activeWorkspaceRootUri, cols, rows, configHelper, isPreconnectionTerminal, this._remoteTerminalChannel, this._remoteAgentService, this._logService, this._commandService);
return new RemoteTerminalProcess(instanceId, shouldPersist, shellLaunchConfig, activeWorkspaceRootUri, cols, rows, configHelper, isPreconnectionTerminal, this._remoteTerminalChannel, this._remoteAgentService, this._logService, this._commandService);
}
public async listTerminals(isInitialization = false): Promise<IRemoteTerminalAttachTarget[]> {

View file

@ -200,7 +200,7 @@ export interface IRemoteTerminalService {
readonly _serviceBrand: undefined;
dispose(): void;
listTerminals(isInitialization?: boolean): Promise<IRemoteTerminalAttachTarget[]>;
createRemoteTerminalProcess(terminalId: number, shellLaunchConfig: IShellLaunchConfig, activeWorkspaceRootUri: URI | undefined, cols: number, rows: number, shouldPersist: boolean, configHelper: ITerminalConfigHelper,): Promise<ITerminalChildProcess>;
createRemoteTerminalProcess(instanceId: number, shellLaunchConfig: IShellLaunchConfig, activeWorkspaceRootUri: URI | undefined, cols: number, rows: number, shouldPersist: boolean, configHelper: ITerminalConfigHelper,): Promise<ITerminalChildProcess>;
setTerminalLayoutInfo(layout: ITerminalsLayoutInfoById): Promise<void>;
getTerminalLayoutInfo(): Promise<ITerminalsLayoutInfo | undefined>;
@ -258,10 +258,10 @@ export interface ITerminalBeforeHandleLinkEvent {
export interface ITerminalInstance {
/**
* The ID of the terminal instance, this is an arbitrary number only used to identify the
* terminal instance.
* The ID of the terminal instance, this is an arbitrary number only used to uniquely identify
* terminal instances within a window.
*/
readonly id: number;
readonly instanceId: number;
readonly cols: number;
readonly rows: number;

View file

@ -71,12 +71,12 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
private static _lastKnownCanvasDimensions: ICanvasDimensions | undefined;
private static _lastKnownGridDimensions: IGridDimensions | undefined;
private static _idCounter = 1;
private static _instanceIdCounter = 1;
private _processManager!: ITerminalProcessManager;
private _pressAnyKeyToCloseListener: IDisposable | undefined;
private _id: number;
private _instanceId: number;
private _latestXtermWriteData: number = 0;
private _latestXtermParseData: number = 0;
private _isExiting: boolean;
@ -120,7 +120,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
private hasHadInput: boolean;
public disableLayout: boolean;
public get id(): number { return this._id; }
public get instanceId(): number { return this._instanceId; }
public get cols(): number {
if (this._dimensionsOverride && this._dimensionsOverride.cols) {
if (this._dimensionsOverride.forceExactSize) {
@ -211,7 +211,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
this._hadFocusOnExit = false;
this._isVisible = false;
this._isDisposed = false;
this._id = TerminalInstance._idCounter++;
this._instanceId = TerminalInstance._instanceIdCounter++;
this.hasHadInput = false;
@ -224,7 +224,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
this._terminalAltBufferActiveContextKey = KEYBINDING_CONTEXT_TERMINAL_ALT_BUFFER_ACTIVE.bindTo(this._contextKeyService);
this.disableLayout = false;
this._logService.trace(`terminalInstance#ctor (id: ${this.id})`, this._shellLaunchConfig);
this._logService.trace(`terminalInstance#ctor (instanceId: ${this.instanceId})`, this._shellLaunchConfig);
this._initDimensions();
this._createProcessManager();
@ -531,7 +531,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
throw new Error('xterm elements not set after open');
}
this._setAriaLabel(xterm, this._id, this._title);
this._setAriaLabel(xterm, this._instanceId, this._title);
xterm.textarea.addEventListener('focus', () => this._onFocus.fire(this));
xterm.attachCustomKeyEventHandler((event: KeyboardEvent): boolean => {
@ -772,7 +772,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
}
public dispose(immediate?: boolean): void {
this._logService.trace(`terminalInstance#dispose (id: ${this.id})`);
this._logService.trace(`terminalInstance#dispose (instanceId: ${this.instanceId})`);
dispose(this._windowsShellHelper);
this._windowsShellHelper = undefined;
@ -933,7 +933,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
}
protected _createProcessManager(): void {
this._processManager = this._instantiationService.createInstance(TerminalProcessManager, this._id, this._configHelper);
this._processManager = this._instantiationService.createInstance(TerminalProcessManager, this._instanceId, this._configHelper);
this._processManager.onProcessReady(() => this._onProcessIdReady.fire(this));
this._processManager.onProcessExit(exitCode => this._onProcessExit(exitCode));
this._processManager.onProcessData(ev => {
@ -1048,7 +1048,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
this._isExiting = true;
await this._flushXtermData();
this._logService.debug(`Terminal process exit (id: ${this.id}) with code ${this._exitCode}`);
this._logService.debug(`Terminal process exit (instanceId: ${this.instanceId}) with code ${this._exitCode}`);
let exitCodeMessage: string | undefined;
@ -1091,7 +1091,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
break;
}
this._logService.debug(`Terminal process exit (id: ${this.id}) state ${this._processManager.processState}`);
this._logService.debug(`Terminal process exit (instanceId: ${this.instanceId}) state ${this._processManager.processState}`);
// Only trigger wait on exit when the exit was *not* triggered by the
// user (via the `workbench.action.terminal.kill` command).
@ -1531,7 +1531,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
const didTitleChange = title !== this._title;
this._title = title;
if (didTitleChange) {
this._setAriaLabel(this._xterm, this._id, this._title);
this._setAriaLabel(this._xterm, this._instanceId, this._title);
if (this._titleReadyComplete) {
this._titleReadyComplete(title);
@ -1574,7 +1574,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
private _onEnvironmentVariableInfoChanged(info: IEnvironmentVariableInfo): void {
if (info.requiresAction) {
this._xterm?.textarea?.setAttribute('aria-label', nls.localize('terminalStaleTextBoxAriaLabel', "Terminal {0} environment is stale, run the 'Show Environment Information' command for more information", this._id));
this._xterm?.textarea?.setAttribute('aria-label', nls.localize('terminalStaleTextBoxAriaLabel', "Terminal {0} environment is stale, run the 'Show Environment Information' command for more information", this._instanceId));
}
this._refreshEnvironmentVariableInfoWidgetState(info);
}

View file

@ -48,7 +48,7 @@ export class TerminalProcessExtHostProxy extends Disposable implements ITerminal
private _pendingLatencyRequests: ((value: number | PromiseLike<number>) => void)[] = [];
constructor(
public terminalId: number,
public instanceId: number,
private _shellLaunchConfig: IShellLaunchConfig,
private _cols: number,
private _rows: number,

View file

@ -97,7 +97,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
}
constructor(
private readonly _terminalId: number,
private readonly _instanceId: number,
private readonly _configHelper: ITerminalConfigHelper,
@IHistoryService private readonly _historyService: IHistoryService,
@IInstantiationService private readonly _instantiationService: IInstantiationService,
@ -153,7 +153,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
// Flow control is not supported for extension terminals
shellLaunchConfig.flowControl = false;
this._processType = ProcessType.ExtensionTerminal;
this._process = this._instantiationService.createInstance(TerminalProcessExtHostProxy, this._terminalId, shellLaunchConfig, cols, rows);
this._process = this._instantiationService.createInstance(TerminalProcessExtHostProxy, this._instanceId, shellLaunchConfig, cols, rows);
} else {
const forceExtHostProcess = (this._configHelper.config as any).extHostProcess;
if (shellLaunchConfig.cwd && typeof shellLaunchConfig.cwd === 'object') {
@ -186,7 +186,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
await this._setupEnvVariableInfo(activeWorkspaceRootUri, shellLaunchConfig);
const shouldPersist = !shellLaunchConfig.isFeatureTerminal && this._configHelper.config.enablePersistentSessions;
this._process = await this._remoteTerminalService.createRemoteTerminalProcess(this._terminalId, shellLaunchConfig, activeWorkspaceRootUri, cols, rows, shouldPersist, this._configHelper);
this._process = await this._remoteTerminalService.createRemoteTerminalProcess(this._instanceId, shellLaunchConfig, activeWorkspaceRootUri, cols, rows, shouldPersist, this._configHelper);
} else {
// Flow control is not needed for ptys hosted in the same process (ie. the electron
// renderer).
@ -408,7 +408,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
if (diff === undefined) {
return;
}
this._environmentVariableInfo = this._instantiationService.createInstance(EnvironmentVariableInfoStale, diff, this._terminalId);
this._environmentVariableInfo = this._instantiationService.createInstance(EnvironmentVariableInfoStale, diff, this._instanceId);
this._onEnvironmentVariableInfoChange.fire(this._environmentVariableInfo);
}
}

View file

@ -412,7 +412,7 @@ export class TerminalService implements ITerminalService {
public getInstanceFromId(terminalId: number): ITerminalInstance | undefined {
let bgIndex = -1;
this._backgroundedTerminalInstances.forEach((terminalInstance, i) => {
if (terminalInstance.id === terminalId) {
if (terminalInstance.instanceId === terminalId) {
bgIndex = i;
}
});
@ -436,7 +436,7 @@ export class TerminalService implements ITerminalService {
if (terminalInstance.shellLaunchConfig.hideFromUser) {
this._showBackgroundTerminal(terminalInstance);
}
this.setActiveInstanceByIndex(this._getIndexFromId(terminalInstance.id));
this.setActiveInstanceByIndex(this._getIndexFromId(terminalInstance.instanceId));
}
public setActiveTabByIndex(tabIndex: number): void {
@ -621,7 +621,7 @@ export class TerminalService implements ITerminalService {
private _getIndexFromId(terminalId: number): number {
let terminalIndex = -1;
this.terminalInstances.forEach((terminalInstance, i) => {
if (terminalInstance.id === terminalId) {
if (terminalInstance.instanceId === terminalId) {
terminalIndex = i;
}
});

View file

@ -265,7 +265,7 @@ export class TerminalTab extends Disposable implements ITerminalTab {
public addInstance(shellLaunchConfigOrInstance: IShellLaunchConfig | ITerminalInstance): void {
let instance: ITerminalInstance;
if ('id' in shellLaunchConfigOrInstance) {
if ('instanceId' in shellLaunchConfigOrInstance) {
instance = shellLaunchConfigOrInstance;
} else {
instance = this._terminalService.createInstance(undefined, shellLaunchConfigOrInstance);
@ -350,13 +350,13 @@ export class TerminalTab extends Disposable implements ITerminalTab {
}
private _setActiveInstance(instance: ITerminalInstance): void {
this.setActiveInstanceByIndex(this._getIndexFromId(instance.id));
this.setActiveInstanceByIndex(this._getIndexFromId(instance.instanceId));
}
private _getIndexFromId(terminalId: number): number {
let terminalIndex = -1;
this.terminalInstances.forEach((terminalInstance, i) => {
if (terminalInstance.id === terminalId) {
if (terminalInstance.instanceId === terminalId) {
terminalIndex = i;
}
});

View file

@ -291,7 +291,7 @@ export const enum ProcessState {
}
export interface ITerminalProcessExtHostProxy extends IDisposable {
readonly terminalId: number;
readonly instanceId: number;
emitData(data: string): void;
emitTitle(title: string): void;