From 0d4b67d271d136f1e448494740aa141d8f46c175 Mon Sep 17 00:00:00 2001 From: "jiacheng.li" Date: Thu, 17 Jul 2025 00:23:10 +0800 Subject: [PATCH 1/3] refactor(terminal): introduce IProcessCreationResult interface --- src/vs/platform/terminal/common/terminal.ts | 8 ++++++-- src/vs/platform/terminal/node/ptyHostService.ts | 4 ++-- src/vs/platform/terminal/node/ptyService.ts | 6 +++--- src/vs/platform/terminal/node/terminalProcess.ts | 4 ++-- src/vs/workbench/contrib/terminal/browser/remotePty.ts | 4 ++-- .../contrib/terminal/browser/terminalProcessManager.ts | 6 +++--- .../terminal/common/remote/remoteTerminalChannel.ts | 4 ++-- src/vs/workbench/contrib/terminal/common/terminal.ts | 6 +++--- .../contrib/terminal/electron-browser/localPty.ts | 4 ++-- 9 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts index 812d5d7c97ead..d5c354338906b 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -286,6 +286,10 @@ export interface IFixedTerminalDimensions { rows?: number; } +export interface IProcessCreationResult { + injectedArgs: string[]; +} + /** * A service that communicates with a pty host. */ @@ -327,7 +331,7 @@ export interface IPtyService { */ getLatency(): Promise; - start(id: number): Promise; + start(id: number): Promise; shutdown(id: number, immediate: boolean): Promise; input(id: number, data: string): Promise; sendSignal(id: number, signal: string): Promise; @@ -766,7 +770,7 @@ export interface ITerminalChildProcess { * @returns undefined when the process was successfully started, otherwise an object containing * information on what went wrong. */ - start(): Promise; + start(): Promise; /** * Detach the process from the UI and await reconnect. diff --git a/src/vs/platform/terminal/node/ptyHostService.ts b/src/vs/platform/terminal/node/ptyHostService.ts index 86e0e53b6e9d4..09a62c3bb8198 100644 --- a/src/vs/platform/terminal/node/ptyHostService.ts +++ b/src/vs/platform/terminal/node/ptyHostService.ts @@ -13,7 +13,7 @@ import { RemoteLoggerChannelClient } from '../../log/common/logIpc.js'; import { getResolvedShellEnv } from '../../shell/node/shellEnv.js'; import { IPtyHostProcessReplayEvent } from '../common/capabilities/capabilities.js'; import { RequestStore } from '../common/requestStore.js'; -import { HeartbeatConstants, IHeartbeatService, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; +import { HeartbeatConstants, IHeartbeatService, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; import { registerTerminalPlatformConfiguration } from '../common/terminalPlatformConfiguration.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../common/terminalProcess.js'; import { IPtyHostConnection, IPtyHostStarter } from './ptyHost.js'; @@ -239,7 +239,7 @@ export class PtyHostService extends Disposable implements IPtyHostService { async reduceConnectionGraceTime(): Promise { return this._optionalProxy?.reduceConnectionGraceTime(); } - start(id: number): Promise { + start(id: number): Promise { return this._proxy.start(id); } shutdown(id: number, immediate: boolean): Promise { diff --git a/src/vs/platform/terminal/node/ptyService.ts b/src/vs/platform/terminal/node/ptyService.ts index 24ea477247a82..3b2afa4ad4262 100644 --- a/src/vs/platform/terminal/node/ptyService.ts +++ b/src/vs/platform/terminal/node/ptyService.ts @@ -12,7 +12,7 @@ import { URI } from '../../../base/common/uri.js'; import { getSystemShell } from '../../../base/node/shell.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { RequestStore } from '../common/requestStore.js'; -import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution } from '../common/terminal.js'; +import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution, IProcessCreationResult } from '../common/terminal.js'; import { TerminalDataBufferer } from '../common/terminalDataBuffering.js'; import { escapeNonWindowsPath } from '../common/terminalEnvironment.js'; import type { ISerializeOptions, SerializeAddon as XtermSerializeAddon } from '@xterm/addon-serialize'; @@ -401,7 +401,7 @@ export class PtyService extends Disposable implements IPtyService { } @traceRpc - async start(id: number): Promise { + async start(id: number): Promise { const pty = this._ptys.get(id); return pty ? pty.start() : { message: `Could not find pty with id "${id}"` }; } @@ -821,7 +821,7 @@ class PersistentTerminalProcess extends Disposable { } } - async start(): Promise { + async start(): Promise { if (!this._isStarted) { const result = await this._terminalProcess.start(); if (result && 'message' in result) { diff --git a/src/vs/platform/terminal/node/terminalProcess.ts b/src/vs/platform/terminal/node/terminalProcess.ts index 1227cb058af6b..b842db99bf9ef 100644 --- a/src/vs/platform/terminal/node/terminalProcess.ts +++ b/src/vs/platform/terminal/node/terminalProcess.ts @@ -15,7 +15,7 @@ import { URI } from '../../../base/common/uri.js'; import { localize } from '../../../nls.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { IProductService } from '../../product/common/productService.js'; -import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType } from '../common/terminal.js'; +import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType, IProcessCreationResult } from '../common/terminal.js'; import { ChildProcessMonitor } from './childProcessMonitor.js'; import { getShellIntegrationInjection, getWindowsBuildNumber, IShellIntegrationConfigInjection } from './terminalEnvironment.js'; import { WindowsShellHelper } from './windowsShellHelper.js'; @@ -202,7 +202,7 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess })); } - async start(): Promise { + async start(): Promise { const results = await Promise.all([this._validateCwd(), this._validateExecutable()]); const firstError = results.find(r => r !== undefined); if (firstError) { diff --git a/src/vs/workbench/contrib/terminal/browser/remotePty.ts b/src/vs/workbench/contrib/terminal/browser/remotePty.ts index fd55edd7abad3..973d18aa770e4 100644 --- a/src/vs/workbench/contrib/terminal/browser/remotePty.ts +++ b/src/vs/workbench/contrib/terminal/browser/remotePty.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { Barrier } from '../../../../base/common/async.js'; -import { IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { IProcessCreationResult, IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; import { RemoteTerminalChannelClient } from '../common/remote/remoteTerminalChannel.js'; import { IRemoteAgentService } from '../../../services/remote/common/remoteAgentService.js'; @@ -23,7 +23,7 @@ export class RemotePty extends BasePty implements ITerminalChildProcess { this._startBarrier = new Barrier(); } - async start(): Promise { + async start(): Promise { // Fetch the environment to check shell permissions const env = await this._remoteAgentService.getEnvironment(); if (!env) { diff --git a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts index 8bba0827b1f1f..ef9f5d719baf9 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts @@ -18,7 +18,7 @@ import { ITelemetryService } from '../../../../platform/telemetry/common/telemet import { ISerializedCommandDetectionCapability, TerminalCapability } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { NaiveCwdDetectionCapability } from '../../../../platform/terminal/common/capabilities/naiveCwdDetectionCapability.js'; import { TerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/terminalCapabilityStore.js'; -import { FlowControlConstants, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; +import { FlowControlConstants, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; import { TerminalRecorder } from '../../../../platform/terminal/common/terminalRecorder.js'; import { IWorkspaceContextService, IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js'; import { EnvironmentVariableInfoChangesActive, EnvironmentVariableInfoStale } from './environmentVariableInfo.js'; @@ -232,7 +232,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce cols: number, rows: number, reset: boolean = true - ): Promise { + ): Promise { this._shellLaunchConfig = shellLaunchConfig; this._dimensions.cols = cols; this._dimensions.rows = rows; @@ -412,7 +412,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce return undefined; } - async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { + async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { this.ptyProcessReady = this._createPtyProcessReadyPromise(); this._logService.trace(`Relaunching terminal instance ${this._instanceId}`); diff --git a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts index 532d9f1c1ce1b..463c00f4604b1 100644 --- a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts +++ b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts @@ -16,7 +16,7 @@ import { IEditorService } from '../../../../services/editor/common/editorService import { Schemas } from '../../../../../base/common/network.js'; import { ILabelService } from '../../../../../platform/label/common/label.js'; import { IEnvironmentVariableService } from '../environmentVariable.js'; -import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement } from '../../../../../platform/terminal/common/terminal.js'; +import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement, IProcessCreationResult } from '../../../../../platform/terminal/common/terminal.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../../../../../platform/terminal/common/terminalProcess.js'; import { IProcessEnvironment, OperatingSystem } from '../../../../../base/common/platform.js'; import { ICompleteTerminalConfiguration } from '../terminal.js'; @@ -210,7 +210,7 @@ export class RemoteTerminalChannelClient implements IPtyHostController { processBinary(id: number, data: string): Promise { return this._channel.call(RemoteTerminalChannelRequest.ProcessBinary, [id, data]); } - start(id: number): Promise { + start(id: number): Promise { return this._channel.call(RemoteTerminalChannelRequest.Start, [id]); } input(id: number, data: string): Promise { diff --git a/src/vs/workbench/contrib/terminal/common/terminal.ts b/src/vs/workbench/contrib/terminal/common/terminal.ts index 6951d80a2bd8a..ff52379a1e74f 100644 --- a/src/vs/workbench/contrib/terminal/common/terminal.ts +++ b/src/vs/workbench/contrib/terminal/common/terminal.ts @@ -14,7 +14,7 @@ import * as nls from '../../../../nls.js'; import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js'; import { ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js'; -import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; +import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; import { AccessibilityCommandId } from '../../accessibility/common/accessibilityCommands.js'; import { IEnvironmentVariableInfo } from './environmentVariable.js'; import { IExtensionPointDescriptor } from '../../../services/extensions/common/extensionsRegistry.js'; @@ -293,8 +293,8 @@ export interface ITerminalProcessManager extends IDisposable, ITerminalProcessIn dispose(immediate?: boolean): void; detachFromProcess(forcePersist?: boolean): Promise; - createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; - relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; + createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; + relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; write(data: string): Promise; sendSignal(signal: string): Promise; setDimensions(cols: number, rows: number): Promise; diff --git a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts index 5375e6361165e..ada881661c6c7 100644 --- a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts +++ b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { IProcessCreationResult, IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; /** @@ -19,7 +19,7 @@ export class LocalPty extends BasePty implements ITerminalChildProcess { super(id, shouldPersist); } - start(): Promise { + start(): Promise { return this._proxy.start(this.id); } From 1d2ff521de7889ccfcb1aa0be49204233b49b92e Mon Sep 17 00:00:00 2001 From: "jiacheng.li" Date: Thu, 17 Jul 2025 00:29:04 +0800 Subject: [PATCH 2/3] chore: update interface name --- src/vs/platform/terminal/common/terminal.ts | 6 +++--- src/vs/platform/terminal/node/ptyHostService.ts | 4 ++-- src/vs/platform/terminal/node/ptyService.ts | 6 +++--- src/vs/platform/terminal/node/terminalProcess.ts | 4 ++-- src/vs/workbench/contrib/terminal/browser/remotePty.ts | 4 ++-- .../contrib/terminal/browser/terminalProcessManager.ts | 6 +++--- .../contrib/terminal/common/remote/remoteTerminalChannel.ts | 4 ++-- src/vs/workbench/contrib/terminal/common/terminal.ts | 6 +++--- .../workbench/contrib/terminal/electron-browser/localPty.ts | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts index d5c354338906b..f822859acd517 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -286,7 +286,7 @@ export interface IFixedTerminalDimensions { rows?: number; } -export interface IProcessCreationResult { +export interface IProcessCreateResult { injectedArgs: string[]; } @@ -331,7 +331,7 @@ export interface IPtyService { */ getLatency(): Promise; - start(id: number): Promise; + start(id: number): Promise; shutdown(id: number, immediate: boolean): Promise; input(id: number, data: string): Promise; sendSignal(id: number, signal: string): Promise; @@ -770,7 +770,7 @@ export interface ITerminalChildProcess { * @returns undefined when the process was successfully started, otherwise an object containing * information on what went wrong. */ - start(): Promise; + start(): Promise; /** * Detach the process from the UI and await reconnect. diff --git a/src/vs/platform/terminal/node/ptyHostService.ts b/src/vs/platform/terminal/node/ptyHostService.ts index 09a62c3bb8198..1a9b9b84e3d1a 100644 --- a/src/vs/platform/terminal/node/ptyHostService.ts +++ b/src/vs/platform/terminal/node/ptyHostService.ts @@ -13,7 +13,7 @@ import { RemoteLoggerChannelClient } from '../../log/common/logIpc.js'; import { getResolvedShellEnv } from '../../shell/node/shellEnv.js'; import { IPtyHostProcessReplayEvent } from '../common/capabilities/capabilities.js'; import { RequestStore } from '../common/requestStore.js'; -import { HeartbeatConstants, IHeartbeatService, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; +import { HeartbeatConstants, IHeartbeatService, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; import { registerTerminalPlatformConfiguration } from '../common/terminalPlatformConfiguration.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../common/terminalProcess.js'; import { IPtyHostConnection, IPtyHostStarter } from './ptyHost.js'; @@ -239,7 +239,7 @@ export class PtyHostService extends Disposable implements IPtyHostService { async reduceConnectionGraceTime(): Promise { return this._optionalProxy?.reduceConnectionGraceTime(); } - start(id: number): Promise { + start(id: number): Promise { return this._proxy.start(id); } shutdown(id: number, immediate: boolean): Promise { diff --git a/src/vs/platform/terminal/node/ptyService.ts b/src/vs/platform/terminal/node/ptyService.ts index 3b2afa4ad4262..ee92517b10675 100644 --- a/src/vs/platform/terminal/node/ptyService.ts +++ b/src/vs/platform/terminal/node/ptyService.ts @@ -12,7 +12,7 @@ import { URI } from '../../../base/common/uri.js'; import { getSystemShell } from '../../../base/node/shell.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { RequestStore } from '../common/requestStore.js'; -import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution, IProcessCreationResult } from '../common/terminal.js'; +import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution, IProcessCreateResult } from '../common/terminal.js'; import { TerminalDataBufferer } from '../common/terminalDataBuffering.js'; import { escapeNonWindowsPath } from '../common/terminalEnvironment.js'; import type { ISerializeOptions, SerializeAddon as XtermSerializeAddon } from '@xterm/addon-serialize'; @@ -401,7 +401,7 @@ export class PtyService extends Disposable implements IPtyService { } @traceRpc - async start(id: number): Promise { + async start(id: number): Promise { const pty = this._ptys.get(id); return pty ? pty.start() : { message: `Could not find pty with id "${id}"` }; } @@ -821,7 +821,7 @@ class PersistentTerminalProcess extends Disposable { } } - async start(): Promise { + async start(): Promise { if (!this._isStarted) { const result = await this._terminalProcess.start(); if (result && 'message' in result) { diff --git a/src/vs/platform/terminal/node/terminalProcess.ts b/src/vs/platform/terminal/node/terminalProcess.ts index b842db99bf9ef..1cd7f961ad2dc 100644 --- a/src/vs/platform/terminal/node/terminalProcess.ts +++ b/src/vs/platform/terminal/node/terminalProcess.ts @@ -15,7 +15,7 @@ import { URI } from '../../../base/common/uri.js'; import { localize } from '../../../nls.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { IProductService } from '../../product/common/productService.js'; -import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType, IProcessCreationResult } from '../common/terminal.js'; +import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType, IProcessCreateResult } from '../common/terminal.js'; import { ChildProcessMonitor } from './childProcessMonitor.js'; import { getShellIntegrationInjection, getWindowsBuildNumber, IShellIntegrationConfigInjection } from './terminalEnvironment.js'; import { WindowsShellHelper } from './windowsShellHelper.js'; @@ -202,7 +202,7 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess })); } - async start(): Promise { + async start(): Promise { const results = await Promise.all([this._validateCwd(), this._validateExecutable()]); const firstError = results.find(r => r !== undefined); if (firstError) { diff --git a/src/vs/workbench/contrib/terminal/browser/remotePty.ts b/src/vs/workbench/contrib/terminal/browser/remotePty.ts index 973d18aa770e4..ebef3fc433036 100644 --- a/src/vs/workbench/contrib/terminal/browser/remotePty.ts +++ b/src/vs/workbench/contrib/terminal/browser/remotePty.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { Barrier } from '../../../../base/common/async.js'; -import { IProcessCreationResult, IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { IProcessCreateResult, IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; import { RemoteTerminalChannelClient } from '../common/remote/remoteTerminalChannel.js'; import { IRemoteAgentService } from '../../../services/remote/common/remoteAgentService.js'; @@ -23,7 +23,7 @@ export class RemotePty extends BasePty implements ITerminalChildProcess { this._startBarrier = new Barrier(); } - async start(): Promise { + async start(): Promise { // Fetch the environment to check shell permissions const env = await this._remoteAgentService.getEnvironment(); if (!env) { diff --git a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts index ef9f5d719baf9..634379ca6f05c 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts @@ -18,7 +18,7 @@ import { ITelemetryService } from '../../../../platform/telemetry/common/telemet import { ISerializedCommandDetectionCapability, TerminalCapability } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { NaiveCwdDetectionCapability } from '../../../../platform/terminal/common/capabilities/naiveCwdDetectionCapability.js'; import { TerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/terminalCapabilityStore.js'; -import { FlowControlConstants, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; +import { FlowControlConstants, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; import { TerminalRecorder } from '../../../../platform/terminal/common/terminalRecorder.js'; import { IWorkspaceContextService, IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js'; import { EnvironmentVariableInfoChangesActive, EnvironmentVariableInfoStale } from './environmentVariableInfo.js'; @@ -232,7 +232,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce cols: number, rows: number, reset: boolean = true - ): Promise { + ): Promise { this._shellLaunchConfig = shellLaunchConfig; this._dimensions.cols = cols; this._dimensions.rows = rows; @@ -412,7 +412,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce return undefined; } - async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { + async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { this.ptyProcessReady = this._createPtyProcessReadyPromise(); this._logService.trace(`Relaunching terminal instance ${this._instanceId}`); diff --git a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts index 463c00f4604b1..8636d4aeb2c9f 100644 --- a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts +++ b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts @@ -16,7 +16,7 @@ import { IEditorService } from '../../../../services/editor/common/editorService import { Schemas } from '../../../../../base/common/network.js'; import { ILabelService } from '../../../../../platform/label/common/label.js'; import { IEnvironmentVariableService } from '../environmentVariable.js'; -import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement, IProcessCreationResult } from '../../../../../platform/terminal/common/terminal.js'; +import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement, IProcessCreateResult } from '../../../../../platform/terminal/common/terminal.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../../../../../platform/terminal/common/terminalProcess.js'; import { IProcessEnvironment, OperatingSystem } from '../../../../../base/common/platform.js'; import { ICompleteTerminalConfiguration } from '../terminal.js'; @@ -210,7 +210,7 @@ export class RemoteTerminalChannelClient implements IPtyHostController { processBinary(id: number, data: string): Promise { return this._channel.call(RemoteTerminalChannelRequest.ProcessBinary, [id, data]); } - start(id: number): Promise { + start(id: number): Promise { return this._channel.call(RemoteTerminalChannelRequest.Start, [id]); } input(id: number, data: string): Promise { diff --git a/src/vs/workbench/contrib/terminal/common/terminal.ts b/src/vs/workbench/contrib/terminal/common/terminal.ts index ff52379a1e74f..45e685922901d 100644 --- a/src/vs/workbench/contrib/terminal/common/terminal.ts +++ b/src/vs/workbench/contrib/terminal/common/terminal.ts @@ -14,7 +14,7 @@ import * as nls from '../../../../nls.js'; import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js'; import { ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js'; -import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, IProcessCreationResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; +import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; import { AccessibilityCommandId } from '../../accessibility/common/accessibilityCommands.js'; import { IEnvironmentVariableInfo } from './environmentVariable.js'; import { IExtensionPointDescriptor } from '../../../services/extensions/common/extensionsRegistry.js'; @@ -293,8 +293,8 @@ export interface ITerminalProcessManager extends IDisposable, ITerminalProcessIn dispose(immediate?: boolean): void; detachFromProcess(forcePersist?: boolean): Promise; - createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; - relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; + createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; + relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; write(data: string): Promise; sendSignal(signal: string): Promise; setDimensions(cols: number, rows: number): Promise; diff --git a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts index ada881661c6c7..e1f8e08bf2b35 100644 --- a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts +++ b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IProcessCreationResult, IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { IProcessCreateResult, IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; /** @@ -19,7 +19,7 @@ export class LocalPty extends BasePty implements ITerminalChildProcess { super(id, shouldPersist); } - start(): Promise { + start(): Promise { return this._proxy.start(this.id); } From d9c7d49bf5e78b9cffaf6825e455c57898bc098f Mon Sep 17 00:00:00 2001 From: "jiacheng.li" Date: Thu, 17 Jul 2025 00:32:27 +0800 Subject: [PATCH 3/3] chore: update interface name --- src/vs/platform/terminal/common/terminal.ts | 6 +++--- src/vs/platform/terminal/node/ptyHostService.ts | 4 ++-- src/vs/platform/terminal/node/ptyService.ts | 6 +++--- src/vs/platform/terminal/node/terminalProcess.ts | 4 ++-- src/vs/workbench/contrib/terminal/browser/remotePty.ts | 4 ++-- .../contrib/terminal/browser/terminalProcessManager.ts | 6 +++--- .../contrib/terminal/common/remote/remoteTerminalChannel.ts | 4 ++-- src/vs/workbench/contrib/terminal/common/terminal.ts | 6 +++--- .../workbench/contrib/terminal/electron-browser/localPty.ts | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts index f822859acd517..c9bd442347fde 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -286,7 +286,7 @@ export interface IFixedTerminalDimensions { rows?: number; } -export interface IProcessCreateResult { +export interface ITerminalLaunchResult { injectedArgs: string[]; } @@ -331,7 +331,7 @@ export interface IPtyService { */ getLatency(): Promise; - start(id: number): Promise; + start(id: number): Promise; shutdown(id: number, immediate: boolean): Promise; input(id: number, data: string): Promise; sendSignal(id: number, signal: string): Promise; @@ -770,7 +770,7 @@ export interface ITerminalChildProcess { * @returns undefined when the process was successfully started, otherwise an object containing * information on what went wrong. */ - start(): Promise; + start(): Promise; /** * Detach the process from the UI and await reconnect. diff --git a/src/vs/platform/terminal/node/ptyHostService.ts b/src/vs/platform/terminal/node/ptyHostService.ts index 1a9b9b84e3d1a..22091b450a98b 100644 --- a/src/vs/platform/terminal/node/ptyHostService.ts +++ b/src/vs/platform/terminal/node/ptyHostService.ts @@ -13,7 +13,7 @@ import { RemoteLoggerChannelClient } from '../../log/common/logIpc.js'; import { getResolvedShellEnv } from '../../shell/node/shellEnv.js'; import { IPtyHostProcessReplayEvent } from '../common/capabilities/capabilities.js'; import { RequestStore } from '../common/requestStore.js'; -import { HeartbeatConstants, IHeartbeatService, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; +import { HeartbeatConstants, IHeartbeatService, ITerminalLaunchResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IPtyHostLatencyMeasurement, IPtyHostService, IPtyService, IRequestResolveVariablesEvent, ISerializedTerminalState, IShellLaunchConfig, ITerminalLaunchError, ITerminalProcessOptions, ITerminalProfile, ITerminalsLayoutInfo, ProcessPropertyType, TerminalIcon, TerminalIpcChannels, TerminalSettingId, TitleEventSource } from '../common/terminal.js'; import { registerTerminalPlatformConfiguration } from '../common/terminalPlatformConfiguration.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../common/terminalProcess.js'; import { IPtyHostConnection, IPtyHostStarter } from './ptyHost.js'; @@ -239,7 +239,7 @@ export class PtyHostService extends Disposable implements IPtyHostService { async reduceConnectionGraceTime(): Promise { return this._optionalProxy?.reduceConnectionGraceTime(); } - start(id: number): Promise { + start(id: number): Promise { return this._proxy.start(id); } shutdown(id: number, immediate: boolean): Promise { diff --git a/src/vs/platform/terminal/node/ptyService.ts b/src/vs/platform/terminal/node/ptyService.ts index ee92517b10675..7c58aa974a9ef 100644 --- a/src/vs/platform/terminal/node/ptyService.ts +++ b/src/vs/platform/terminal/node/ptyService.ts @@ -12,7 +12,7 @@ import { URI } from '../../../base/common/uri.js'; import { getSystemShell } from '../../../base/node/shell.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { RequestStore } from '../common/requestStore.js'; -import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution, IProcessCreateResult } from '../common/terminal.js'; +import { IProcessDataEvent, IProcessReadyEvent, IPtyService, IRawTerminalInstanceLayoutInfo, IReconnectConstants, IShellLaunchConfig, ITerminalInstanceLayoutInfoById, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalTabLayoutInfoById, TerminalIcon, IProcessProperty, TitleEventSource, ProcessPropertyType, IProcessPropertyMap, IFixedTerminalDimensions, IPersistentTerminalProcessLaunchConfig, ICrossVersionSerializedTerminalState, ISerializedTerminalState, ITerminalProcessOptions, IPtyHostLatencyMeasurement, type IPtyServiceContribution, ITerminalLaunchResult } from '../common/terminal.js'; import { TerminalDataBufferer } from '../common/terminalDataBuffering.js'; import { escapeNonWindowsPath } from '../common/terminalEnvironment.js'; import type { ISerializeOptions, SerializeAddon as XtermSerializeAddon } from '@xterm/addon-serialize'; @@ -401,7 +401,7 @@ export class PtyService extends Disposable implements IPtyService { } @traceRpc - async start(id: number): Promise { + async start(id: number): Promise { const pty = this._ptys.get(id); return pty ? pty.start() : { message: `Could not find pty with id "${id}"` }; } @@ -821,7 +821,7 @@ class PersistentTerminalProcess extends Disposable { } } - async start(): Promise { + async start(): Promise { if (!this._isStarted) { const result = await this._terminalProcess.start(); if (result && 'message' in result) { diff --git a/src/vs/platform/terminal/node/terminalProcess.ts b/src/vs/platform/terminal/node/terminalProcess.ts index 1cd7f961ad2dc..6c4004e9ebade 100644 --- a/src/vs/platform/terminal/node/terminalProcess.ts +++ b/src/vs/platform/terminal/node/terminalProcess.ts @@ -15,7 +15,7 @@ import { URI } from '../../../base/common/uri.js'; import { localize } from '../../../nls.js'; import { ILogService, LogLevel } from '../../log/common/log.js'; import { IProductService } from '../../product/common/productService.js'; -import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType, IProcessCreateResult } from '../common/terminal.js'; +import { FlowControlConstants, IShellLaunchConfig, ITerminalChildProcess, ITerminalLaunchError, IProcessProperty, IProcessPropertyMap as IProcessPropertyMap, ProcessPropertyType, TerminalShellType, IProcessReadyEvent, ITerminalProcessOptions, PosixShellType, IProcessReadyWindowsPty, GeneralShellType, ITerminalLaunchResult } from '../common/terminal.js'; import { ChildProcessMonitor } from './childProcessMonitor.js'; import { getShellIntegrationInjection, getWindowsBuildNumber, IShellIntegrationConfigInjection } from './terminalEnvironment.js'; import { WindowsShellHelper } from './windowsShellHelper.js'; @@ -202,7 +202,7 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess })); } - async start(): Promise { + async start(): Promise { const results = await Promise.all([this._validateCwd(), this._validateExecutable()]); const firstError = results.find(r => r !== undefined); if (firstError) { diff --git a/src/vs/workbench/contrib/terminal/browser/remotePty.ts b/src/vs/workbench/contrib/terminal/browser/remotePty.ts index ebef3fc433036..339b5abfff261 100644 --- a/src/vs/workbench/contrib/terminal/browser/remotePty.ts +++ b/src/vs/workbench/contrib/terminal/browser/remotePty.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { Barrier } from '../../../../base/common/async.js'; -import { IProcessCreateResult, IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { ITerminalLaunchResult, IProcessPropertyMap, ITerminalChildProcess, ITerminalLaunchError, ITerminalLogService, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; import { RemoteTerminalChannelClient } from '../common/remote/remoteTerminalChannel.js'; import { IRemoteAgentService } from '../../../services/remote/common/remoteAgentService.js'; @@ -23,7 +23,7 @@ export class RemotePty extends BasePty implements ITerminalChildProcess { this._startBarrier = new Barrier(); } - async start(): Promise { + async start(): Promise { // Fetch the environment to check shell permissions const env = await this._remoteAgentService.getEnvironment(); if (!env) { diff --git a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts index 634379ca6f05c..3b64182f4b71d 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts @@ -18,7 +18,7 @@ import { ITelemetryService } from '../../../../platform/telemetry/common/telemet import { ISerializedCommandDetectionCapability, TerminalCapability } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { NaiveCwdDetectionCapability } from '../../../../platform/terminal/common/capabilities/naiveCwdDetectionCapability.js'; import { TerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/terminalCapabilityStore.js'; -import { FlowControlConstants, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; +import { FlowControlConstants, ITerminalLaunchResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IReconnectionProperties, IShellLaunchConfig, ITerminalBackend, ITerminalChildProcess, ITerminalDimensions, ITerminalEnvironment, ITerminalLaunchError, ITerminalLogService, ITerminalProcessOptions, ProcessPropertyType, TerminalSettingId } from '../../../../platform/terminal/common/terminal.js'; import { TerminalRecorder } from '../../../../platform/terminal/common/terminalRecorder.js'; import { IWorkspaceContextService, IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js'; import { EnvironmentVariableInfoChangesActive, EnvironmentVariableInfoStale } from './environmentVariableInfo.js'; @@ -232,7 +232,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce cols: number, rows: number, reset: boolean = true - ): Promise { + ): Promise { this._shellLaunchConfig = shellLaunchConfig; this._dimensions.cols = cols; this._dimensions.rows = rows; @@ -412,7 +412,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce return undefined; } - async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { + async relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise { this.ptyProcessReady = this._createPtyProcessReadyPromise(); this._logService.trace(`Relaunching terminal instance ${this._instanceId}`); diff --git a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts index 8636d4aeb2c9f..e54883f9aeea6 100644 --- a/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts +++ b/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.ts @@ -16,7 +16,7 @@ import { IEditorService } from '../../../../services/editor/common/editorService import { Schemas } from '../../../../../base/common/network.js'; import { ILabelService } from '../../../../../platform/label/common/label.js'; import { IEnvironmentVariableService } from '../environmentVariable.js'; -import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement, IProcessCreateResult } from '../../../../../platform/terminal/common/terminal.js'; +import { IProcessDataEvent, IRequestResolveVariablesEvent, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, TerminalIcon, IProcessProperty, ProcessPropertyType, IProcessPropertyMap, TitleEventSource, ISerializedTerminalState, IPtyHostController, ITerminalProcessOptions, IProcessReadyEvent, ITerminalLogService, IPtyHostLatencyMeasurement, ITerminalLaunchResult } from '../../../../../platform/terminal/common/terminal.js'; import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from '../../../../../platform/terminal/common/terminalProcess.js'; import { IProcessEnvironment, OperatingSystem } from '../../../../../base/common/platform.js'; import { ICompleteTerminalConfiguration } from '../terminal.js'; @@ -210,7 +210,7 @@ export class RemoteTerminalChannelClient implements IPtyHostController { processBinary(id: number, data: string): Promise { return this._channel.call(RemoteTerminalChannelRequest.ProcessBinary, [id, data]); } - start(id: number): Promise { + start(id: number): Promise { return this._channel.call(RemoteTerminalChannelRequest.Start, [id]); } input(id: number, data: string): Promise { diff --git a/src/vs/workbench/contrib/terminal/common/terminal.ts b/src/vs/workbench/contrib/terminal/common/terminal.ts index 45e685922901d..e861fd2a59136 100644 --- a/src/vs/workbench/contrib/terminal/common/terminal.ts +++ b/src/vs/workbench/contrib/terminal/common/terminal.ts @@ -14,7 +14,7 @@ import * as nls from '../../../../nls.js'; import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js'; import { ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js'; import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js'; -import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, IProcessCreateResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; +import { ICreateContributedTerminalProfileOptions, IExtensionTerminalProfile, IFixedTerminalDimensions, ITerminalLaunchResult, IProcessDataEvent, IProcessProperty, IProcessPropertyMap, IProcessReadyEvent, IProcessReadyWindowsPty, IShellLaunchConfig, ITerminalBackend, ITerminalContributions, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, ITerminalProfileObject, ITerminalTabAction, ProcessPropertyType, TerminalIcon, TerminalLocationString, TitleEventSource } from '../../../../platform/terminal/common/terminal.js'; import { AccessibilityCommandId } from '../../accessibility/common/accessibilityCommands.js'; import { IEnvironmentVariableInfo } from './environmentVariable.js'; import { IExtensionPointDescriptor } from '../../../services/extensions/common/extensionsRegistry.js'; @@ -293,8 +293,8 @@ export interface ITerminalProcessManager extends IDisposable, ITerminalProcessIn dispose(immediate?: boolean): void; detachFromProcess(forcePersist?: boolean): Promise; - createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; - relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; + createProcess(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number): Promise; + relaunch(shellLaunchConfig: IShellLaunchConfig, cols: number, rows: number, reset: boolean): Promise; write(data: string): Promise; sendSignal(signal: string): Promise; setDimensions(cols: number, rows: number): Promise; diff --git a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts index e1f8e08bf2b35..6405af520543b 100644 --- a/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts +++ b/src/vs/workbench/contrib/terminal/electron-browser/localPty.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IProcessCreateResult, IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; +import { ITerminalLaunchResult, IProcessPropertyMap, IPtyService, ITerminalChildProcess, ITerminalLaunchError, ProcessPropertyType } from '../../../../platform/terminal/common/terminal.js'; import { BasePty } from '../common/basePty.js'; /** @@ -19,7 +19,7 @@ export class LocalPty extends BasePty implements ITerminalChildProcess { super(id, shouldPersist); } - start(): Promise { + start(): Promise { return this._proxy.start(this.id); }