@@ -9,7 +9,7 @@ import { IWorkbenchExtensionEnablementService, IWebExtensionsScannerService } fr
9
9
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService' ;
10
10
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation' ;
11
11
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry' ;
12
- import { IExtensionService , IExtensionHost } from 'vs/workbench/services/extensions/common/extensions' ;
12
+ import { IExtensionService , IExtensionHost , ExtensionHostKind , } from 'vs/workbench/services/extensions/common/extensions' ;
13
13
import { registerSingleton } from 'vs/platform/instantiation/common/extensions' ;
14
14
import { IFileService } from 'vs/platform/files/common/files' ;
15
15
import { IProductService } from 'vs/platform/product/common/productService' ;
@@ -28,6 +28,7 @@ import { IExtensionManagementService } from 'vs/platform/extensionManagement/com
28
28
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace' ;
29
29
import { IExtensionManifestPropertiesService } from 'vs/workbench/services/extensions/common/extensionManifestPropertiesService' ;
30
30
import { IUserDataInitializationService } from 'vs/workbench/services/userData/browser/userDataInit' ;
31
+ import { IRemoteExplorerService } from '../../remote/common/remoteExplorerService' ;
31
32
32
33
export class ExtensionService extends AbstractExtensionService implements IExtensionService {
33
34
@@ -51,6 +52,7 @@ export class ExtensionService extends AbstractExtensionService implements IExten
51
52
@ILifecycleService private readonly _lifecycleService : ILifecycleService ,
52
53
@IExtensionManifestPropertiesService extensionManifestPropertiesService : IExtensionManifestPropertiesService ,
53
54
@IUserDataInitializationService private readonly _userDataInitializationService : IUserDataInitializationService ,
55
+ @IRemoteExplorerService private readonly _remoteExplorerService : IRemoteExplorerService
54
56
) {
55
57
super (
56
58
new ExtensionRunningLocationClassifier (
@@ -75,7 +77,17 @@ export class ExtensionService extends AbstractExtensionService implements IExten
75
77
// Initialize installed extensions first and do it only after workbench is ready
76
78
this . _lifecycleService . when ( LifecyclePhase . Ready ) . then ( async ( ) => {
77
79
await this . _userDataInitializationService . initializeInstalledExtensions ( this . _instantiationService ) ;
78
- this . _initialize ( ) ;
80
+ this . _initialize ( ) . then ( async ( ) => {
81
+ try {
82
+ const extHost = this . _getExtensionHostManager ( ExtensionHostKind . Remote )
83
+ const resolved = await extHost ?. resolveAuthority ( "coder-link+main" )
84
+ if ( resolved ) {
85
+ this . _remoteExplorerService . setTunnelInformation ( resolved . tunnelInformation ) ;
86
+ }
87
+ } catch ( ex ) {
88
+ this . _logOrShowMessage ( Severity . Error , nls . localize ( 'link' , "Failed to initialize remote Link authority: {0}" , ex ) )
89
+ }
90
+ } )
79
91
} ) ;
80
92
81
93
this . _initFetchFileSystem ( ) ;
0 commit comments