diff --git a/src/vs/platform/configuration/common/configurationService.ts b/src/vs/platform/configuration/common/configurationService.ts index 21a12826ee43ba27ec87b0e087c6a5af132f24a1..9453cedcac34a0cf5cd6ccc1b85a7033feafb45b 100644 --- a/src/vs/platform/configuration/common/configurationService.ts +++ b/src/vs/platform/configuration/common/configurationService.ts @@ -29,6 +29,7 @@ export class ConfigurationService extends Disposable implements IConfigurationSe fileService: IFileService ) { super(); + this._register(fileService.watch(settingsResource)); this.userConfiguration = this._register(new UserSettings(this.settingsResource, undefined, fileService)); this.configuration = new Configuration(new DefaultConfigurationModel(), new ConfigurationModel()); diff --git a/src/vs/platform/configuration/test/node/configurationService.test.ts b/src/vs/platform/configuration/test/node/configurationService.test.ts index 15b3d915ed645cb66b91986c2dcea3f1f8c856bc..f5fb471fcdb2c8e0ca44f3c014333d1e2a42cae8 100644 --- a/src/vs/platform/configuration/test/node/configurationService.test.ts +++ b/src/vs/platform/configuration/test/node/configurationService.test.ts @@ -22,6 +22,7 @@ import { IDisposable } from 'vs/base/common/lifecycle'; import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemProvider'; import { Schemas } from 'vs/base/common/network'; import { IFileService } from 'vs/platform/files/common/files'; +import { VSBuffer } from 'vs/base/common/buffer'; suite('ConfigurationService - Node', () => { @@ -110,10 +111,10 @@ suite('ConfigurationService - Node', () => { test('trigger configuration change event when file does not exist', async () => { const res = await testFile('config', 'config.json'); - - const service = new ConfigurationService(URI.file(res.testFile), fileService); + const settingsFile = URI.file(res.testFile); + const service = new ConfigurationService(settingsFile, fileService); await service.initialize(); - return new Promise((c, e) => { + return new Promise(async (c, e) => { const disposable = Event.filter(service.onDidChangeConfiguration, e => e.source === ConfigurationTarget.USER)(async (e) => { disposable.dispose(); assert.equal(service.getValue('foo'), 'bar'); @@ -121,7 +122,7 @@ suite('ConfigurationService - Node', () => { await res.cleanUp(); c(); }); - fs.writeFileSync(res.testFile, '{ "foo": "bar" }'); + await fileService.writeFile(settingsFile, VSBuffer.fromString('{ "foo": "bar" }')); }); });