@@ -10,10 +10,14 @@ import { ILogService } from 'vs/platform/log/common/log';
1010import { Disposable } from 'vs/base/common/lifecycle' ;
1111import { SimpleLogService , SimpleProductService , SimpleWorkbenchEnvironmentService } from 'vs/workbench/browser/nodeless.simpleservices' ;
1212import { Workbench } from 'vs/workbench/browser/workbench' ;
13+ import { IChannel } from 'vs/base/parts/ipc/common/ipc' ;
14+ import { REMOTE_FILE_SYSTEM_CHANNEL_NAME , RemoteExtensionsFileSystemProvider } from 'vs/platform/remote/common/remoteAgentFileSystemChannel' ;
1315import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService' ;
1416import { IProductService } from 'vs/platform/product/common/product' ;
17+ import { RemoteAgentService } from 'vs/workbench/services/remote/browser/remoteAgentServiceImpl' ;
1518import { RemoteAuthorityResolverService } from 'vs/platform/remote/browser/remoteAuthorityResolverService' ;
1619import { IRemoteAuthorityResolverService } from 'vs/platform/remote/common/remoteAuthorityResolver' ;
20+ import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService' ;
1721import { IFileService } from 'vs/platform/files/common/files' ;
1822import { FileService3 } from 'vs/workbench/services/files2/browser/fileService2' ;
1923
@@ -69,10 +73,20 @@ class CodeRendererMain extends Disposable {
6973 const remoteAuthorityResolverService = new RemoteAuthorityResolverService ( ) ;
7074 serviceCollection . set ( IRemoteAuthorityResolverService , remoteAuthorityResolverService ) ;
7175
76+ const remoteAgentService = this . _register ( new RemoteAgentService ( environmentService , productService , remoteAuthorityResolverService ) ) ;
77+ serviceCollection . set ( IRemoteAgentService , remoteAgentService ) ;
78+
7279 // Files
7380 const fileService = this . _register ( new FileService3 ( logService ) ) ;
7481 serviceCollection . set ( IFileService , fileService ) ;
7582
83+ const connection = remoteAgentService . getConnection ( ) ;
84+ if ( connection ) {
85+ const channel = connection . getChannel < IChannel > ( REMOTE_FILE_SYSTEM_CHANNEL_NAME ) ;
86+ const remoteFileSystemProvider = this . _register ( new RemoteExtensionsFileSystemProvider ( channel , remoteAgentService . getEnvironment ( ) ) ) ;
87+ fileService . registerProvider ( 'vscode-remote' , remoteFileSystemProvider ) ;
88+ }
89+
7690 return { serviceCollection, logService } ;
7791 }
7892}
0 commit comments