mirror of
https://github.com/Microsoft/vscode
synced 2024-09-19 10:40:41 +00:00
move stuff back to workbench and remove log statements and use pid
This commit is contained in:
parent
e95a5c1e1c
commit
9c8e2ae7af
|
@ -4,10 +4,9 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IProcessEnvironment } from 'vs/base/common/platform';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { IGetTerminalLayoutInfoArgs, IOrphanQuestionReplyArgs, IPtyHostProcessReplayEvent, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
|
||||
import { IGetTerminalLayoutInfoArgs, IPtyHostProcessReplayEvent, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
|
||||
|
||||
export interface IRawTerminalInstanceLayoutInfo<T> {
|
||||
relativeSize: number;
|
||||
|
@ -42,88 +41,6 @@ export interface IPtyHostAttachTarget {
|
|||
export type ITerminalsLayoutInfo = IRawTerminalsLayoutInfo<IPtyHostAttachTarget | null>;
|
||||
export type ITerminalsLayoutInfoById = IRawTerminalsLayoutInfo<number>;
|
||||
|
||||
export interface IBeforeProcessDataEvent {
|
||||
/**
|
||||
* The data of the event, this can be modified by the event listener to change what gets sent
|
||||
* to the terminal.
|
||||
*/
|
||||
data: string;
|
||||
}
|
||||
|
||||
export interface ITerminalProcessExtHostProxy extends IDisposable {
|
||||
readonly terminalId: number;
|
||||
|
||||
emitData(data: string): void;
|
||||
emitTitle(title: string): void;
|
||||
emitReady(pid: number, cwd: string): void;
|
||||
emitExit(exitCode: number | undefined): void;
|
||||
emitOverrideDimensions(dimensions: ITerminalDimensions | undefined): void;
|
||||
emitResolvedShellLaunchConfig(shellLaunchConfig: IShellLaunchConfig): void;
|
||||
emitInitialCwd(initialCwd: string): void;
|
||||
emitCwd(cwd: string): void;
|
||||
emitLatency(latency: number): void;
|
||||
|
||||
onInput: Event<string>;
|
||||
onResize: Event<{ cols: number, rows: number }>;
|
||||
onAcknowledgeDataEvent: Event<number>;
|
||||
onShutdown: Event<boolean>;
|
||||
onRequestInitialCwd: Event<void>;
|
||||
onRequestCwd: Event<void>;
|
||||
onRequestLatency: Event<void>;
|
||||
}
|
||||
|
||||
export interface ISpawnExtHostProcessRequest {
|
||||
proxy: ITerminalProcessExtHostProxy;
|
||||
shellLaunchConfig: IShellLaunchConfig;
|
||||
activeWorkspaceRootUri: URI | undefined;
|
||||
cols: number;
|
||||
rows: number;
|
||||
isWorkspaceShellAllowed: boolean;
|
||||
callback: (error: ITerminalLaunchError | undefined) => void;
|
||||
}
|
||||
|
||||
export interface IStartExtensionTerminalRequest {
|
||||
proxy: ITerminalProcessExtHostProxy;
|
||||
cols: number;
|
||||
rows: number;
|
||||
callback: (error: ITerminalLaunchError | undefined) => void;
|
||||
}
|
||||
|
||||
export interface IShellDefinition {
|
||||
label: string;
|
||||
path: string;
|
||||
}
|
||||
|
||||
export interface IAvailableShellsRequest {
|
||||
callback: (shells: IShellDefinition[]) => void;
|
||||
}
|
||||
|
||||
export interface IDefaultShellAndArgsRequest {
|
||||
useAutomationShell: boolean;
|
||||
callback: (shell: string, args: string[] | string | undefined) => void;
|
||||
}
|
||||
|
||||
export enum LinuxDistro {
|
||||
Fedora,
|
||||
Ubuntu,
|
||||
Unknown
|
||||
}
|
||||
|
||||
export enum TitleEventSource {
|
||||
/** From the API or the rename command that overrides any other type */
|
||||
Api,
|
||||
/** From the process name property*/
|
||||
Process,
|
||||
/** From the VT sequence */
|
||||
Sequence
|
||||
}
|
||||
|
||||
export interface IWindowsShellHelper extends IDisposable {
|
||||
readonly onShellNameChange: Event<string>;
|
||||
|
||||
getShellName(): Promise<string>;
|
||||
}
|
||||
|
||||
export interface IRawTerminalInstanceLayoutInfo<T> {
|
||||
relativeSize: number;
|
||||
terminal: T;
|
||||
|
@ -200,8 +117,6 @@ export interface IPtyService {
|
|||
setTerminalLayoutInfo(args: ISetTerminalLayoutInfoArgs): void;
|
||||
|
||||
getTerminalLayoutInfo(args: IGetTerminalLayoutInfoArgs): Promise<ITerminalsLayoutInfo | undefined>;
|
||||
|
||||
orphanQuestionReply(args: IOrphanQuestionReplyArgs): void;
|
||||
}
|
||||
|
||||
export enum HeartbeatConstants {
|
||||
|
@ -433,26 +348,3 @@ export interface ITerminalDimensionsOverride extends ITerminalDimensions {
|
|||
*/
|
||||
forceExactSize?: boolean;
|
||||
}
|
||||
|
||||
export function printTime(ms: number): string {
|
||||
let h = 0;
|
||||
let m = 0;
|
||||
let s = 0;
|
||||
if (ms >= 1000) {
|
||||
s = Math.floor(ms / 1000);
|
||||
ms -= s * 1000;
|
||||
}
|
||||
if (s >= 60) {
|
||||
m = Math.floor(s / 60);
|
||||
s -= m * 60;
|
||||
}
|
||||
if (m >= 60) {
|
||||
h = Math.floor(m / 60);
|
||||
m -= h * 60;
|
||||
}
|
||||
const _h = h ? `${h}h` : ``;
|
||||
const _m = m ? `${m}m` : ``;
|
||||
const _s = s ? `${s}s` : ``;
|
||||
const _ms = ms ? `${ms}ms` : ``;
|
||||
return `${_h}${_m}${_s}${_ms}`;
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import { ProxyChannel } from 'vs/base/parts/ipc/common/ipc';
|
|||
import { IProcessEnvironment } from 'vs/base/common/platform';
|
||||
import { Emitter } from 'vs/base/common/event';
|
||||
import { LogLevelChannelClient } from 'vs/platform/log/common/logIpc';
|
||||
import { IGetTerminalLayoutInfoArgs, IOrphanQuestionReplyArgs, IPtyHostProcessReplayEvent, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
|
||||
import { IGetTerminalLayoutInfoArgs, IPtyHostProcessReplayEvent, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
|
||||
|
||||
enum Constants {
|
||||
MaxRestarts = 5
|
||||
|
@ -113,7 +113,6 @@ export class LocalPtyService extends Disposable implements IPtyService {
|
|||
this._register(proxy.onProcessOverrideDimensions(e => this._onProcessOverrideDimensions.fire(e)));
|
||||
this._register(proxy.onProcessResolvedShellLaunchConfig(e => this._onProcessResolvedShellLaunchConfig.fire(e)));
|
||||
this._register(proxy.onProcessReplay(e => {
|
||||
this._logService.info(`Replaying ${e}`);
|
||||
this._onProcessReplay.fire(e);
|
||||
}));
|
||||
return [client, proxy];
|
||||
|
@ -160,9 +159,6 @@ export class LocalPtyService extends Disposable implements IPtyService {
|
|||
getLatency(id: number): Promise<number> {
|
||||
return this._proxy.getLatency(id);
|
||||
}
|
||||
orphanQuestionReply(args: IOrphanQuestionReplyArgs): void {
|
||||
return this._proxy.orphanQuestionReply(args);
|
||||
}
|
||||
public setTerminalLayoutInfo(args: ISetTerminalLayoutInfoArgs): void {
|
||||
return this._proxy.setTerminalLayoutInfo(args);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { IProcessEnvironment } from 'vs/base/common/platform';
|
||||
import { IPtyService, IProcessDataEvent, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, printTime, LocalReconnectConstants, ITerminalsLayoutInfo, IRawTerminalInstanceLayoutInfo, ITerminalTabLayoutInfoById, ITerminalInstanceLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { IPtyService, IProcessDataEvent, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, LocalReconnectConstants, ITerminalsLayoutInfo, IRawTerminalInstanceLayoutInfo, ITerminalTabLayoutInfoById, ITerminalInstanceLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { AutoOpenBarrier, Queue, RunOnceScheduler } from 'vs/base/common/async';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { TerminalRecorder } from 'vs/platform/terminal/common/terminalRecorder';
|
||||
|
@ -78,7 +78,6 @@ export class PtyService extends Disposable implements IPtyService {
|
|||
|
||||
async createProcess(shellLaunchConfig: IShellLaunchConfig, cwd: string, cols: number, rows: number, env: IProcessEnvironment, executableEnv: IProcessEnvironment, windowsEnableConpty: boolean, workspaceId: string, workspaceName: string): Promise<number> {
|
||||
const id = ++currentPtyId;
|
||||
this._logService.info('creating process', id);
|
||||
const process = new TerminalProcess(shellLaunchConfig, cwd, cols, rows, env, executableEnv, windowsEnableConpty, this._logService);
|
||||
process.onProcessData(event => this._onProcessData.fire({ id, event }));
|
||||
process.onProcessExit(event => this._onProcessExit.fire({ id, event }));
|
||||
|
@ -93,7 +92,7 @@ export class PtyService extends Disposable implements IPtyService {
|
|||
const persistentTerminalProcess = new PersistentTerminalProcess(id, process, workspaceId, workspaceName, true, cols, rows, ipcHandlePath, this._logService, () => {
|
||||
persistentTerminalProcess.dispose();
|
||||
this._ptys.delete(id);
|
||||
});
|
||||
}, shellLaunchConfig.attachPersistentTerminal);
|
||||
persistentTerminalProcess.onProcessReplay(event => this._onProcessReplay.fire({ id, event }));
|
||||
persistentTerminalProcess.onProcessReady(event => this._onProcessReady.fire({ id, event }));
|
||||
persistentTerminalProcess.onProcessTitleChanged(event => this._onProcessTitleChanged.fire({ id, event }));
|
||||
|
@ -247,7 +246,8 @@ export class PersistentTerminalProcess extends Disposable {
|
|||
cols: number, rows: number,
|
||||
ipcHandlePath: string,
|
||||
private readonly _logService: ILogService,
|
||||
private readonly _onExit: () => void
|
||||
private readonly _onExit: () => void,
|
||||
private readonly _attachPersistentTerminal?: any
|
||||
) {
|
||||
super();
|
||||
this._recorder = new TerminalRecorder(cols, rows);
|
||||
|
@ -284,7 +284,6 @@ export class PersistentTerminalProcess extends Disposable {
|
|||
// Buffer data events to reduce the amount of messages going to the renderer
|
||||
// this._register(this._bufferer.startBuffering(this._persistentTerminalId, this._terminalProcess.onProcessData));
|
||||
this._register(this._terminalProcess.onProcessData(e => {
|
||||
// console.trace(`data ${e}`);
|
||||
this._recorder.recordData(e);
|
||||
}));
|
||||
this._register(this._terminalProcess.onProcessExit(exitCode => {
|
||||
|
@ -313,9 +312,11 @@ export class PersistentTerminalProcess extends Disposable {
|
|||
await this._terminalProcess.start();
|
||||
this._isStarted = true;
|
||||
} else {
|
||||
// TODO: Fix me
|
||||
// this._onProcessReady.fire({ pid: (this._terminalProcess as any)._ptyProcess.pid, cwd: '' });
|
||||
this._onProcessReady.fire({ pid: -1, cwd: '' });
|
||||
if (!this._attachPersistentTerminal) {
|
||||
this._onProcessReady.fire({ pid: -1, cwd: await this._terminalProcess.getCwd() });
|
||||
} else {
|
||||
this._onProcessReady.fire({ pid: this._attachPersistentTerminal.pid, cwd: await this._terminalProcess.getCwd() });
|
||||
}
|
||||
this._onProcessTitleChanged.fire(this._terminalProcess.currentTitle);
|
||||
}
|
||||
// TODO: Pass back launch error
|
||||
|
@ -420,3 +421,26 @@ export class PersistentTerminalProcess extends Disposable {
|
|||
return (Date.now() - this._orphanQuestionReplyTime > 500);
|
||||
}
|
||||
}
|
||||
|
||||
function printTime(ms: number): string {
|
||||
let h = 0;
|
||||
let m = 0;
|
||||
let s = 0;
|
||||
if (ms >= 1000) {
|
||||
s = Math.floor(ms / 1000);
|
||||
ms -= s * 1000;
|
||||
}
|
||||
if (s >= 60) {
|
||||
m = Math.floor(s / 60);
|
||||
s -= m * 60;
|
||||
}
|
||||
if (m >= 60) {
|
||||
h = Math.floor(m / 60);
|
||||
m -= h * 60;
|
||||
}
|
||||
const _h = h ? `${h}h` : ``;
|
||||
const _m = m ? `${m}m` : ``;
|
||||
const _s = s ? `${s}s` : ``;
|
||||
const _ms = ms ? `${ms}ms` : ``;
|
||||
return `${_h}${_m}${_s}${_ms}`;
|
||||
}
|
||||
|
|
|
@ -7,14 +7,14 @@ import type { Terminal as XTermTerminal } from 'xterm';
|
|||
import type { SearchAddon as XTermSearchAddon } from 'xterm-addon-search';
|
||||
import type { Unicode11Addon as XTermUnicode11Addon } from 'xterm-addon-unicode11';
|
||||
import type { WebglAddon as XTermWebglAddon } from 'xterm-addon-webgl';
|
||||
import { IWindowsShellHelper, IShellLaunchConfig, ITerminalChildProcess, ITerminalDimensions, ITerminalLaunchError, IDefaultShellAndArgsRequest, ISpawnExtHostProcessRequest, IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, TitleEventSource, LinuxDistro, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, ITerminalTabLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { IShellLaunchConfig, ITerminalChildProcess, ITerminalDimensions, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, ITerminalTabLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IProcessEnvironment, Platform } from 'vs/base/common/platform';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { FindReplaceState } from 'vs/editor/contrib/find/findState';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { IAvailableShellsRequest, ICommandTracker, INavigationMode, IRemoteTerminalAttachTarget, ITerminalConfigHelper, ITerminalNativeWindowsDelegate } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { IAvailableShellsRequest, ICommandTracker, IDefaultShellAndArgsRequest, INavigationMode, IRemoteTerminalAttachTarget, ISpawnExtHostProcessRequest, IStartExtensionTerminalRequest, ITerminalConfigHelper, ITerminalNativeWindowsDelegate, ITerminalProcessExtHostProxy, IWindowsShellHelper, LinuxDistro, TitleEventSource } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
|
||||
|
||||
export const ITerminalService = createDecorator<ITerminalService>('terminalService');
|
||||
|
|
|
@ -125,10 +125,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
|
|||
}
|
||||
|
||||
public dispose(immediate: boolean = false): void {
|
||||
this._logService.info(`process is undefined ${this.processState}`);
|
||||
|
||||
if (this._process) {
|
||||
this._logService.info(`exiting ${this.processState}`);
|
||||
// If the process was still connected this dispose came from
|
||||
// within VS Code, not the process, so mark the process as
|
||||
// killed by the user.
|
||||
|
@ -211,7 +208,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
|
|||
}
|
||||
});
|
||||
|
||||
this._process.onProcessReady(async (e: { pid: number, cwd: string }) => {
|
||||
this._process.onProcessReady((e: { pid: number, cwd: string }) => {
|
||||
this.shellProcessId = e.pid;
|
||||
this._initialCwd = e.cwd;
|
||||
this._onProcessReady.fire();
|
||||
|
@ -388,7 +385,6 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
|
|||
if (this.processState === ProcessState.LAUNCHING) {
|
||||
this.processState = ProcessState.KILLED_DURING_LAUNCH;
|
||||
}
|
||||
this._logService.info(`exiting ${exitCode}`);
|
||||
|
||||
// If TerminalInstance did not know about the process exit then it was
|
||||
// triggered by the process, not on VS Code's side.
|
||||
|
|
|
@ -30,8 +30,8 @@ import { IExtensionService } from 'vs/workbench/services/extensions/common/exten
|
|||
import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService';
|
||||
import { ILifecycleService } from 'vs/workbench/services/lifecycle/common/lifecycle';
|
||||
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
|
||||
import { IShellDefinition, IShellLaunchConfig, ISpawnExtHostProcessRequest, IStartExtensionTerminalRequest, ITerminalLaunchError, ITerminalProcessExtHostProxy, ITerminalsLayoutInfo, ITerminalsLayoutInfoById, LinuxDistro } from 'vs/platform/terminal/common/terminal';
|
||||
import { IAvailableShellsRequest, IRemoteTerminalAttachTarget, ITerminalConfigHelper, ITerminalNativeWindowsDelegate, KEYBINDING_CONTEXT_TERMINAL_ALT_BUFFER_ACTIVE, KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE, KEYBINDING_CONTEXT_TERMINAL_FOCUS, KEYBINDING_CONTEXT_TERMINAL_IS_OPEN, KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED, KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE, TERMINAL_VIEW_ID } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { IShellLaunchConfig, ITerminalLaunchError, ITerminalsLayoutInfo, ITerminalsLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { IAvailableShellsRequest, IRemoteTerminalAttachTarget, IShellDefinition, ISpawnExtHostProcessRequest, IStartExtensionTerminalRequest, ITerminalConfigHelper, ITerminalNativeWindowsDelegate, ITerminalProcessExtHostProxy, KEYBINDING_CONTEXT_TERMINAL_ALT_BUFFER_ACTIVE, KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE, KEYBINDING_CONTEXT_TERMINAL_FOCUS, KEYBINDING_CONTEXT_TERMINAL_IS_OPEN, KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED, KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE, LinuxDistro, TERMINAL_VIEW_ID } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
|
||||
interface IExtHostReadyEntry {
|
||||
promise: Promise<void>;
|
||||
|
|
|
@ -9,9 +9,9 @@ import { IDisposable } from 'vs/base/common/lifecycle';
|
|||
import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { OperatingSystem } from 'vs/base/common/platform';
|
||||
import { IEnvironmentVariableInfo } from 'vs/workbench/contrib/terminal/common/environmentVariable';
|
||||
import { IExtensionPointDescriptor } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
||||
import { IProcessDataEvent, IShellDefinition, IShellLaunchConfig, ITerminalDimensions, ITerminalDimensionsOverride, ITerminalLaunchError } from 'vs/platform/terminal/common/terminal';
|
||||
import { IProcessDataEvent, IShellLaunchConfig, ITerminalDimensions, ITerminalDimensionsOverride, ITerminalLaunchError } from 'vs/platform/terminal/common/terminal';
|
||||
import { IEnvironmentVariableInfo } from 'vs/workbench/contrib/terminal/common/environmentVariable';
|
||||
|
||||
export const TERMINAL_VIEW_ID = 'terminal';
|
||||
|
||||
|
@ -238,6 +238,27 @@ export interface IBeforeProcessDataEvent {
|
|||
data: string;
|
||||
}
|
||||
|
||||
export interface IShellDefinition {
|
||||
label: string;
|
||||
path: string;
|
||||
}
|
||||
|
||||
export interface IAvailableShellsRequest {
|
||||
callback: (shells: IShellDefinition[]) => void;
|
||||
}
|
||||
|
||||
|
||||
export interface IDefaultShellAndArgsRequest {
|
||||
useAutomationShell: boolean;
|
||||
callback: (shell: string, args: string[] | string | undefined) => void;
|
||||
}
|
||||
|
||||
export interface IWindowsShellHelper extends IDisposable {
|
||||
readonly onShellNameChange: Event<string>;
|
||||
|
||||
getShellName(): Promise<string>;
|
||||
}
|
||||
|
||||
export interface ITerminalProcessManager extends IDisposable {
|
||||
readonly processState: ProcessState;
|
||||
readonly ptyProcessReady: Promise<void>;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ITerminalInstanceService } from 'vs/workbench/contrib/terminal/browser/terminal';
|
||||
import { IWindowsShellHelper, IS_WORKSPACE_SHELL_ALLOWED_STORAGE_KEY } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { IWindowsShellHelper, IS_WORKSPACE_SHELL_ALLOWED_STORAGE_KEY, IDefaultShellAndArgsRequest } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { WindowsShellHelper } from 'vs/workbench/contrib/terminal/electron-browser/windowsShellHelper';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IProcessEnvironment, platform, Platform } from 'vs/base/common/platform';
|
||||
|
@ -22,7 +22,7 @@ import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace
|
|||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { getSystemShell } from 'vs/base/node/shell';
|
||||
import { ILocalPtyService } from 'vs/platform/terminal/electron-sandbox/terminal';
|
||||
import { IDefaultShellAndArgsRequest, IShellLaunchConfig, ITerminalChildProcess, ITerminalsLayoutInfo, ITerminalsLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { IShellLaunchConfig, ITerminalChildProcess, ITerminalsLayoutInfo, ITerminalsLayoutInfoById } from 'vs/platform/terminal/common/terminal';
|
||||
import { LocalPty } from 'vs/workbench/contrib/terminal/electron-sandbox/localPty';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
|
|
|
@ -74,14 +74,6 @@ export class LocalPty extends Disposable implements ITerminalChildProcess {
|
|||
}
|
||||
|
||||
start(): Promise<ITerminalLaunchError | { persistentTerminalId: number; } | undefined> {
|
||||
|
||||
// this._persistentTerminalId = shellLaunchConfig.attachPersistentTerminal.id;
|
||||
// this._onProcessReady.fire();
|
||||
|
||||
// setTimeout(() => {
|
||||
// this._onProcessTitleChanged.fire(this._shellLaunchConfig.attachPersistentTerminal!.title);
|
||||
// }, 0);
|
||||
// TODO: Set this._persistentTerminalId
|
||||
return this._localPtyService.start(this._localPtyId);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import { coalesce } from 'vs/base/common/arrays';
|
|||
import { normalize, basename } from 'vs/base/common/path';
|
||||
import { enumeratePowerShellInstallations } from 'vs/base/node/powershell';
|
||||
import { getWindowsBuildNumber } from 'vs/platform/terminal/node/terminalEnvironment';
|
||||
import { IShellDefinition, LinuxDistro } from 'vs/platform/terminal/common/terminal';
|
||||
import { IShellDefinition, LinuxDistro } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
|
||||
let detectedDistro = LinuxDistro.Unknown;
|
||||
if (platform.isLinux) {
|
||||
|
|
Loading…
Reference in a new issue