From a3c288eea5d20e9627d09c33abb797b019322fe5 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Tue, 19 Sep 2023 21:46:37 +0200 Subject: [PATCH] debt - keep main services in `electron-main` (#193516) --- src/vs/code/electron-main/app.ts | 2 +- .../externalTerminal/common/externalTerminal.ts | 6 ------ .../externalTerminal.ts} | 3 --- .../electron-sandbox/externalTerminalService.ts | 16 ++++++++++++++++ .../node/externalTerminalService.ts | 8 ++++---- .../externalTerminal.contribution.ts | 6 +++--- 6 files changed, 24 insertions(+), 17 deletions(-) rename src/vs/platform/externalTerminal/{electron-sandbox/externalTerminalMainService.ts => electron-main/externalTerminal.ts} (81%) create mode 100644 src/vs/platform/externalTerminal/electron-sandbox/externalTerminalService.ts diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 5307987e657..06ecbdd6396 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -45,7 +45,7 @@ import { IExtensionUrlTrustService } from 'vs/platform/extensionManagement/commo import { ExtensionUrlTrustService } from 'vs/platform/extensionManagement/node/extensionUrlTrustService'; import { IExtensionHostStarter, ipcExtensionHostStarterChannelName } from 'vs/platform/extensions/common/extensionHostStarter'; import { ExtensionHostStarter } from 'vs/platform/extensions/electron-main/extensionHostStarter'; -import { IExternalTerminalMainService } from 'vs/platform/externalTerminal/common/externalTerminal'; +import { IExternalTerminalMainService } from 'vs/platform/externalTerminal/electron-main/externalTerminal'; import { LinuxExternalTerminalService, MacExternalTerminalService, WindowsExternalTerminalService } from 'vs/platform/externalTerminal/node/externalTerminalService'; import { LOCAL_FILE_SYSTEM_CHANNEL_NAME } from 'vs/platform/files/common/diskFileSystemProviderClient'; import { IFileService } from 'vs/platform/files/common/files'; diff --git a/src/vs/platform/externalTerminal/common/externalTerminal.ts b/src/vs/platform/externalTerminal/common/externalTerminal.ts index 290bb20fca3..6d8da336419 100644 --- a/src/vs/platform/externalTerminal/common/externalTerminal.ts +++ b/src/vs/platform/externalTerminal/common/externalTerminal.ts @@ -35,9 +35,3 @@ export interface IExternalTerminalConfiguration { } export const DEFAULT_TERMINAL_OSX = 'Terminal.app'; - -export const IExternalTerminalMainService = createDecorator('externalTerminal'); - -export interface IExternalTerminalMainService extends IExternalTerminalService { - readonly _serviceBrand: undefined; -} diff --git a/src/vs/platform/externalTerminal/electron-sandbox/externalTerminalMainService.ts b/src/vs/platform/externalTerminal/electron-main/externalTerminal.ts similarity index 81% rename from src/vs/platform/externalTerminal/electron-sandbox/externalTerminalMainService.ts rename to src/vs/platform/externalTerminal/electron-main/externalTerminal.ts index 4f2ec5e3941..af6925563c7 100644 --- a/src/vs/platform/externalTerminal/electron-sandbox/externalTerminalMainService.ts +++ b/src/vs/platform/externalTerminal/electron-main/externalTerminal.ts @@ -5,12 +5,9 @@ import { IExternalTerminalService } from 'vs/platform/externalTerminal/common/externalTerminal'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { registerMainProcessRemoteService } from 'vs/platform/ipc/electron-sandbox/services'; export const IExternalTerminalMainService = createDecorator('externalTerminal'); export interface IExternalTerminalMainService extends IExternalTerminalService { readonly _serviceBrand: undefined; } - -registerMainProcessRemoteService(IExternalTerminalMainService, 'externalTerminal'); diff --git a/src/vs/platform/externalTerminal/electron-sandbox/externalTerminalService.ts b/src/vs/platform/externalTerminal/electron-sandbox/externalTerminalService.ts new file mode 100644 index 00000000000..209c24d072b --- /dev/null +++ b/src/vs/platform/externalTerminal/electron-sandbox/externalTerminalService.ts @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { IExternalTerminalService as ICommonExternalTerminalService } from 'vs/platform/externalTerminal/common/externalTerminal'; +import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { registerMainProcessRemoteService } from 'vs/platform/ipc/electron-sandbox/services'; + +export const IExternalTerminalService = createDecorator('externalTerminal'); + +export interface IExternalTerminalService extends ICommonExternalTerminalService { + readonly _serviceBrand: undefined; +} + +registerMainProcessRemoteService(IExternalTerminalService, 'externalTerminal'); diff --git a/src/vs/platform/externalTerminal/node/externalTerminalService.ts b/src/vs/platform/externalTerminal/node/externalTerminalService.ts index 9b0b2ba548c..3dcc1c49d0a 100644 --- a/src/vs/platform/externalTerminal/node/externalTerminalService.ts +++ b/src/vs/platform/externalTerminal/node/externalTerminalService.ts @@ -11,7 +11,7 @@ import { sanitizeProcessEnvironment } from 'vs/base/common/processes'; import * as pfs from 'vs/base/node/pfs'; import * as processes from 'vs/base/node/processes'; import * as nls from 'vs/nls'; -import { DEFAULT_TERMINAL_OSX, IExternalTerminalMainService, IExternalTerminalSettings, ITerminalForPlatform } from 'vs/platform/externalTerminal/common/externalTerminal'; +import { DEFAULT_TERMINAL_OSX, IExternalTerminalService, IExternalTerminalSettings, ITerminalForPlatform } from 'vs/platform/externalTerminal/common/externalTerminal'; import { ITerminalEnvironment } from 'vs/platform/terminal/common/terminal'; const TERMINAL_TITLE = nls.localize('console.title', "VS Code Console"); @@ -28,7 +28,7 @@ abstract class ExternalTerminalService { } } -export class WindowsExternalTerminalService extends ExternalTerminalService implements IExternalTerminalMainService { +export class WindowsExternalTerminalService extends ExternalTerminalService implements IExternalTerminalService { private static readonly CMD = 'cmd.exe'; private static _DEFAULT_TERMINAL_WINDOWS: string; @@ -125,7 +125,7 @@ export class WindowsExternalTerminalService extends ExternalTerminalService impl } } -export class MacExternalTerminalService extends ExternalTerminalService implements IExternalTerminalMainService { +export class MacExternalTerminalService extends ExternalTerminalService implements IExternalTerminalService { private static readonly OSASCRIPT = '/usr/bin/osascript'; // osascript is the AppleScript interpreter on OS X public openTerminal(configuration: IExternalTerminalSettings, cwd?: string): Promise { @@ -215,7 +215,7 @@ export class MacExternalTerminalService extends ExternalTerminalService implemen } } -export class LinuxExternalTerminalService extends ExternalTerminalService implements IExternalTerminalMainService { +export class LinuxExternalTerminalService extends ExternalTerminalService implements IExternalTerminalService { private static readonly WAIT_MESSAGE = nls.localize('press.any.key', "Press any key to continue..."); diff --git a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts index 92be8da593c..7b36ebba216 100644 --- a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts +++ b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts @@ -5,7 +5,7 @@ import * as nls from 'vs/nls'; import * as paths from 'vs/base/common/path'; -import { DEFAULT_TERMINAL_OSX, IExternalTerminalService, IExternalTerminalSettings } from 'vs/platform/externalTerminal/common/externalTerminal'; +import { DEFAULT_TERMINAL_OSX, IExternalTerminalSettings } from 'vs/platform/externalTerminal/common/externalTerminal'; import { MenuId, MenuRegistry } from 'vs/platform/actions/common/actions'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import { IHistoryService } from 'vs/workbench/services/history/common/history'; @@ -14,7 +14,7 @@ import { Schemas } from 'vs/base/common/network'; import { IConfigurationRegistry, Extensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; -import { IExternalTerminalMainService } from 'vs/platform/externalTerminal/electron-sandbox/externalTerminalMainService'; +import { IExternalTerminalService } from 'vs/platform/externalTerminal/electron-sandbox/externalTerminalService'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { TerminalContextKeys } from 'vs/workbench/contrib/terminal/common/terminalContextKey'; import { IRemoteAuthorityResolverService } from 'vs/platform/remote/common/remoteAuthorityResolver'; @@ -84,7 +84,7 @@ MenuRegistry.appendMenuItem(MenuId.CommandPalette, { export class ExternalTerminalContribution implements IWorkbenchContribution { public _serviceBrand: undefined; - constructor(@IExternalTerminalMainService private readonly _externalTerminalService: IExternalTerminalMainService) { + constructor(@IExternalTerminalService private readonly _externalTerminalService: IExternalTerminalService) { this._updateConfiguration(); }