41
42
constructor(
44
>
fileService: IFileService,
45
>
policyService: IPolicyService,
46
>
private readonly logService: ILogService,
47
>
) {
48
>
super();
49
>
this.defaultConfiguration = this._register(new DefaultConfiguration(logService));
50
>
this.policyConfiguration = policyService instanceof NullPolicyService ? new NullPolicyConfiguration() : this._register(new PolicyConfiguration(this.defaultConfiguration, policyService, logService));
51
>
this.userConfiguration = this._register(new UserSettings(this.settingsResource, {}, extUriBiasedIgnorePathCase, fileService, logService));
52
>
this.configuration = new Configuration(
53
>
this.defaultConfiguration.configurationModel,
54
>
this.policyConfiguration.configurationModel,
55
>
ConfigurationModel.createEmptyModel(logService),
56
>
ConfigurationModel.createEmptyModel(logService),
57
>
ConfigurationModel.createEmptyModel(logService),
58
>
ConfigurationModel.createEmptyModel(logService),
59
>
new ResourceMap<ConfigurationModel>(),
60
>
ConfigurationModel.createEmptyModel(logService),
61
>
new ResourceMap<ConfigurationModel>(),
62
>
logService
63
>
);
64
>
this.configurationEditing = new ConfigurationEditing(settingsResource, fileService, this);
65
>
66
>
this.reloadConfigurationScheduler = this._register(new RunOnceScheduler(() => this.reloadConfiguration(), 50));
67
>
this._register(this.defaultConfiguration.onDidChangeConfiguration(({ defaults, properties }) => this.onDidDefaultConfigurationChange(defaults, properties)));
68
>
this._register(this.policyConfiguration.onDidChangeConfiguration(model => this.onDidPolicyConfigurationChange(model)));
69
>
this._register(this.userConfiguration.onDidChange(() => this.reloadConfigurationScheduler.schedule()));
70
>
}
71
72
async initialize(): Promise<void> {