debt - keep main services in electron-main (#193516)

This commit is contained in:
Benjamin Pasero
2023-09-19 21:46:37 +02:00
committed by GitHub
parent feedfc545d
commit a3c288eea5
6 changed files with 24 additions and 17 deletions

View File

@@ -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';

View File

@@ -35,9 +35,3 @@ export interface IExternalTerminalConfiguration {
}
export const DEFAULT_TERMINAL_OSX = 'Terminal.app';
export const IExternalTerminalMainService = createDecorator<IExternalTerminalMainService>('externalTerminal');
export interface IExternalTerminalMainService extends IExternalTerminalService {
readonly _serviceBrand: undefined;
}

View File

@@ -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<IExternalTerminalMainService>('externalTerminal');
export interface IExternalTerminalMainService extends IExternalTerminalService {
readonly _serviceBrand: undefined;
}
registerMainProcessRemoteService(IExternalTerminalMainService, 'externalTerminal');

View File

@@ -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<IExternalTerminalService>('externalTerminal');
export interface IExternalTerminalService extends ICommonExternalTerminalService {
readonly _serviceBrand: undefined;
}
registerMainProcessRemoteService(IExternalTerminalService, 'externalTerminal');

View File

@@ -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<void> {
@@ -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...");

View File

@@ -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();
}