@@ -104,7 +104,7 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat
104
104
private readonly configurationRegistry : IConfigurationRegistry ;
105
105
106
106
private instantiationService : IInstantiationService | undefined ;
107
- private configurationEditing : ConfigurationEditing | undefined ;
107
+ private configurationEditing : Promise < ConfigurationEditing > | undefined ;
108
108
109
109
constructor (
110
110
{ remoteAuthority, configurationCache } : { remoteAuthority ?: string ; configurationCache : IConfigurationCache } ,
@@ -1030,8 +1030,8 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat
1030
1030
}
1031
1031
1032
1032
// Use same instance of ConfigurationEditing to make sure all writes go through the same queue
1033
- this . configurationEditing = this . configurationEditing ?? this . instantiationService . createInstance ( ConfigurationEditing , ( await this . remoteAgentService . getEnvironment ( ) ) ?. settingsPath ?? null ) ;
1034
- await this . configurationEditing . writeConfiguration ( editableConfigurationTarget , { key, value } , { scopes : overrides , ...options } ) ;
1033
+ this . configurationEditing = this . configurationEditing ?? this . createConfigurationEditingService ( this . instantiationService ) ;
1034
+ await ( await this . configurationEditing ) . writeConfiguration ( editableConfigurationTarget , { key, value } , { scopes : overrides , ...options } ) ;
1035
1035
switch ( editableConfigurationTarget ) {
1036
1036
case EditableConfigurationTarget . USER_LOCAL :
1037
1037
if ( this . applicationConfiguration && this . isSettingAppliedForAllProfiles ( key ) ) {
@@ -1053,6 +1053,11 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat
1053
1053
}
1054
1054
}
1055
1055
1056
+ private async createConfigurationEditingService ( instantiationService : IInstantiationService ) : Promise < ConfigurationEditing > {
1057
+ const remoteSettingsResource = ( await this . remoteAgentService . getEnvironment ( ) ) ?. settingsPath ?? null ;
1058
+ return instantiationService . createInstance ( ConfigurationEditing , remoteSettingsResource ) ;
1059
+ }
1060
+
1056
1061
private getConfigurationModelForEditableConfigurationTarget ( target : EditableConfigurationTarget , resource ?: URI | null ) : ConfigurationModel | undefined {
1057
1062
switch ( target ) {
1058
1063
case EditableConfigurationTarget . USER_LOCAL : return this . _configuration . localUserConfiguration ;
0 commit comments