mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-17 23:35:54 +01:00
sandbox - first cut file service implemented by main process (#132282)
This commit is contained in:
@@ -18,7 +18,7 @@ import { Schemas } from 'vs/base/common/network';
|
||||
import { isAbsolute, join, posix } from 'vs/base/common/path';
|
||||
import { IProcessEnvironment, isLinux, isLinuxSnap, isMacintosh, isWindows } from 'vs/base/common/platform';
|
||||
import { joinPath } from 'vs/base/common/resources';
|
||||
import { withNullAsUndefined } from 'vs/base/common/types';
|
||||
import { assertType, withNullAsUndefined } from 'vs/base/common/types';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { getMachineId } from 'vs/base/node/id';
|
||||
@@ -47,6 +47,8 @@ import { ExtensionUrlTrustService } from 'vs/platform/extensionManagement/node/e
|
||||
import { IExternalTerminalMainService } from 'vs/platform/externalTerminal/common/externalTerminal';
|
||||
import { LinuxExternalTerminalService, MacExternalTerminalService, WindowsExternalTerminalService } from 'vs/platform/externalTerminal/node/externalTerminalService';
|
||||
import { IFileService } from 'vs/platform/files/common/files';
|
||||
import { DiskFileSystemProviderChannel } from 'vs/platform/files/electron-main/diskFileSystemProviderChannel';
|
||||
import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemProvider';
|
||||
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
||||
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
@@ -559,6 +561,12 @@ export class CodeApplication extends Disposable {
|
||||
const launchChannel = ProxyChannel.fromService(accessor.get(ILaunchMainService), { disableMarshalling: true });
|
||||
this.mainProcessNodeIpcServer.registerChannel('launch', launchChannel);
|
||||
|
||||
// Local Files
|
||||
const diskFileSystemProvider = this.fileService.getProvider(Schemas.file);
|
||||
assertType(diskFileSystemProvider instanceof DiskFileSystemProvider);
|
||||
const fileSystemProviderChannel = new DiskFileSystemProviderChannel(diskFileSystemProvider);
|
||||
mainProcessElectronServer.registerChannel('localFiles', fileSystemProviderChannel);
|
||||
|
||||
// Configuration
|
||||
mainProcessElectronServer.registerChannel(UserConfigurationFileServiceId, ProxyChannel.fromService(new UserConfigurationFileService(this.environmentMainService, this.fileService, this.logService)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user