Skip to content

Commit 433c736

Browse files
authored
1 parent fa00dc8 commit 433c736

File tree

2 files changed

+17
-34
lines changed

2 files changed

+17
-34
lines changed

src/vs/workbench/contrib/preferences/common/preferencesContribution.ts

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -103,39 +103,32 @@ export class PreferencesContribution implements IWorkbenchContribution {
103103
private start(): void {
104104

105105
this.textModelResolverService.registerTextModelContentProvider('vscode', {
106-
provideTextContent: (uri: URI): Promise<ITextModel | null> | null => {
106+
provideTextContent: async (uri: URI): Promise<ITextModel | null> => {
107107
if (uri.scheme !== 'vscode') {
108108
return null;
109109
}
110110
if (uri.authority === 'schemas') {
111-
const schemaModel = this.getSchemaModel(uri);
112-
if (schemaModel) {
113-
return Promise.resolve(schemaModel);
114-
}
111+
return this.getSchemaModel(uri);
115112
}
116-
return Promise.resolve(this.preferencesService.resolveModel(uri));
113+
return this.preferencesService.resolveModel(uri);
117114
}
118115
});
119116
}
120117

121-
private getSchemaModel(uri: URI): ITextModel | null {
122-
let schema = schemaRegistry.getSchemaContributions().schemas[uri.toString()];
123-
if (schema) {
124-
const modelContent = JSON.stringify(schema);
125-
const languageSelection = this.languageService.createById('jsonc');
126-
const model = this.modelService.createModel(modelContent, languageSelection, uri);
127-
const disposables = new DisposableStore();
128-
disposables.add(schemaRegistry.onDidChangeSchema(schemaUri => {
129-
if (schemaUri === uri.toString()) {
130-
schema = schemaRegistry.getSchemaContributions().schemas[uri.toString()];
131-
model.setValue(JSON.stringify(schema));
132-
}
133-
}));
134-
disposables.add(model.onWillDispose(() => disposables.dispose()));
135-
136-
return model;
137-
}
138-
return null;
118+
private getSchemaModel(uri: URI): ITextModel {
119+
let schema = schemaRegistry.getSchemaContributions().schemas[uri.toString()] ?? {} /* Use empty schema if not yet registered */;
120+
const modelContent = JSON.stringify(schema);
121+
const languageSelection = this.languageService.createById('jsonc');
122+
const model = this.modelService.createModel(modelContent, languageSelection, uri);
123+
const disposables = new DisposableStore();
124+
disposables.add(schemaRegistry.onDidChangeSchema(schemaUri => {
125+
if (schemaUri === uri.toString()) {
126+
schema = schemaRegistry.getSchemaContributions().schemas[uri.toString()];
127+
model.setValue(JSON.stringify(schema));
128+
}
129+
}));
130+
disposables.add(model.onWillDispose(() => disposables.dispose()));
131+
return model;
139132
}
140133

141134
dispose(): void {

src/vs/workbench/services/configuration/browser/configurationService.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,16 +1129,6 @@ class RegisterConfigurationSchemasContribution extends Disposable implements IWo
11291129
) {
11301130
super();
11311131

1132-
this.registerSchemas({
1133-
defaultSettingsSchema: {},
1134-
userSettingsSchema: {},
1135-
profileSettingsSchema: {},
1136-
machineSettingsSchema: {},
1137-
workspaceSettingsSchema: {},
1138-
folderSettingsSchema: {},
1139-
configDefaultsSchema: {},
1140-
});
1141-
11421132
extensionService.whenInstalledExtensionsRegistered().then(() => {
11431133
this.registerConfigurationSchemas();
11441134

0 commit comments

Comments
 (0)